最终版任意转换二进制、八进制、十六进制

来源:互联网 发布:php入门到精通百度云 编辑:程序博客网 时间:2024/06/01 21:12
package Binary;public class DecimalToHex3 {public static void main(String[] args) {String str_bin = toBinary(100);String str_oct = toOctal(100);String str_hex = toHex(100);System.out.println(str_bin);System.out.println(str_oct);System.out.println(str_hex);System.out.println(Integer.toBinaryString(100));System.out.println(Integer.toOctalString(100));System.out.println(Integer.toHexString(100));}public static String trans(int num,int base,int offset){int temp = 0;char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};char[] arr = new char[8];int index = arr.length;while(num!=0){temp = num&base;arr[--index] = chs[temp];num = num>>>offset;}return toString(arr,index);}public static String toBinary(int num){if(trans(num, 1, 1).equals("0"))return "0";return trans(num, 1, 1);}public static String toOctal(int num){if(trans(num, 7, 3).equals("0"))return "0";return "0"+trans(num, 7, 3);}public static String toHex(int num){if(trans(num, 7, 3).equals("0"))return "0";return "0x"+trans(num, 15, 4);}public static String toString(char[] arr,int index){String temp = "";for(int i = index;i<arr.length;i++){temp+=arr[i];}return temp;}}

0 0
原创粉丝点击