java class文件为什么是16进制而不是2进制?
发布网友
发布时间:2022-04-19 12:57
我来回答
共4个回答
热心网友
时间:2023-10-25 01:57
Java常用十六进制。
1、计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据
2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便
3、计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好
4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算
热心网友
时间:2023-10-25 01:58
代码编写肯定是10进制(符合日常使用规则),编译后的class是16进制。
扩展:
十进制转成十六进制:
Integer.toHexString(int i)
十进制转成八进制
Integer.toOctalString(int i)
十进制转成二进制
Integer.toBinaryString(int i)
十六进制转成十进制
Integer.valueOf("FFFF",16).toString()
八进制转成十进制
Integer.valueOf("876",8).toString()
二进制转十进制
Integer.valueOf("0101",2).toString()
备注:java中看到的代码中的数字,如果没特殊说明的,全都是10进制的。
热心网友
时间:2023-10-25 01:58
我们日常使用的是十进制,十进制和各个进制算法:(以二进制为例)
用67做例子说明。
二进制换十进制:采用科学计数法,按权展开.
1000011——
1000000~2^6
10~2^1
1~2^0
2^6+2^1+2^0=64+2+1=67
十进制换二进制:采用短除2
2|67
2|33...1
2|16...1
2|8...0
2|4...0
2|2...0
2|1...0
2|0...1
从下往上数,答案:1000011
十进制整数转换成二进制:除二逆向取余;
十进制小数转换成二进制:除二正向取余;
参考资料:http://zhidao.baidu.com/question/9199372.html
热心网友
时间:2023-10-25 01:59
2进制CPU使用,8进制很少见,10进制适合人类使用,16进制适合编译器和底层程序员使用,希望对你有所帮助!