如何手动实现整型数值60的二进制到十六进制的转换
Posted annofyf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何手动实现整型数值60的二进制到十六进制的转换相关的知识,希望对你有一定的参考价值。
int num=66; System.out.println(Integer.toBinaryString(num)); System.out.println(Integer.toHexString(num)); int bits=0; int temp=num; while(temp>0){ temp/=16; bits++; System.out.println(temp); } temp = num; String[] result= new String[bits]; for(int i=0;i<bits;i++){ result[i] = ((temp%16)>9?(char)(temp%16-10+‘A‘)+"":temp%16+""); temp/=16; } for(int i=0;i<bits;i++){ System.out.print(result[bits-1-i]); }
其实是10进制到16进制的转换
1.首先确定转换成16进制后有几位
2.根据位数创建String数组
3.算出每一位对应的16进制表达,存入数组
4.一次输出数组元素
result[i] = ((temp%16)>9?(char)(temp%16-10+‘A‘)+"":temp%16+"");
核心是这行代码,用到知识点:
>三目运算符
>基本数据类型的自动转换和强制转换char->int,int->char
>String类型与基本数据类型用“+”连接时可以自动转换成String类
>num/16等价于num>>>4
>num%16等价于num&15
以上是关于如何手动实现整型数值60的二进制到十六进制的转换的主要内容,如果未能解决你的问题,请参考以下文章
Java千百问_06数据结构(025)_用二进制如何表示浮点型数值
C语言 如何将16进制形式的字符串,转化为相同的16进制的整型?
Java千百问_06数据结构(024)_用二进制如何表示整型数值