版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013383042/article/details/53117608
public class decimalToBinHex {
public static void main(String[] args) {
// toBin(6);
toHex(10);
}
//十进制->十六进制
public static void toHex(int num){
StringBuffer sb = new StringBuffer();
for(int i = 0; i < 8; i++){//一个字节有8位,我们输出8位,所以循环8次
int tmp = num & 15;//与上15得到给定数值的低四位
if(tmp > 9)
// System.out.print((char)(tmp-10+'A'));//正常顺序打印
sb.append((char)(tmp - 10 + 'A'));
else
// System.out.print(tmp);//正常顺序打印
sb.append(tmp);
num = num >>> 4;//>>>是无符号右移。向右移4位,得到下一组低四位
}
System.out.println(sb.reverse());//逆序打印
}
//十进制->二进制
public static void toBin(int num){
StringBuffer sb = new StringBuffer();
while(num > 0){
// System.out.print(num % 2);//正常顺序打印
sb.append(num % 2);
num = num >> 1;
}
System.out.println(sb.reverse());//逆序打印
}
}
原创:http://blog.csdn.net/u013383042/article/details/53117608