//十进制转二进制 public void toBinary(int num) { StringBuffer buffer = new StringBuffer(); while(num > 0) { buffer.append(num % 2); num = num / 2; } System.out.println(buffer.reverse()); } //十进制转十六进制 public void toHex(int num) { StringBuffer buffer = new StringBuffer(); for(int x = 0; x < 8; x ++)//num转成二进制是八个四位一组的二进制 { int temp = num & 15;//与15相&,获得低四位的二进制的十进制数 if(temp > 9) { //减10,比10大多少,加上A得到的是十六进制数 eg:14比10大4,‘A‘+4=69,在转成十六进制就是E buffer.append((char)(temp -10 + ‘A‘)); }else{ buffer.append(temp); } num = num >>> 4;//无符号右移更新最低四位,防止负数右移后最高位加1 } System.out.println(buffer.reverse()); }