为什么使用十六进制值而不是正常的十进制数?

时间:2009-01-16 20:34:54

标签: java c hex math.sqrt

我正在查看this code来计算Java中的math.sqrt。为什么他们在某些循环和变量的正常值中使用十六进制值?使用hex有什么好处?

3 个答案:

答案 0 :(得分:28)

因为十六进制与十进制数的位更接近。每个十六进制数字对应于4位(半字节)。因此,一旦你学会了与每个十六进制数字(0-F)相关的位掩码,就可以执行类似“我想为低位字节设置掩码”的内容:

0xff

或者,“我想要一个底部31位的掩码”:

0x7fffffff

仅供参考:

HEX    BIN
0   -> 0000
1   -> 0001
2   -> 0010
3   -> 0011
4   -> 0100
5   -> 0101
6   -> 0110
7   -> 0111
8   -> 1000
9   -> 1001
A   -> 1010
B   -> 1011
C   -> 1100
D   -> 1101
E   -> 1110
F   -> 1111

答案 1 :(得分:3)

他们可能使用了十六进制值,因为这些数字在十六进制中更容易记住。例如,0x7fffffff与2147483647相同,但更容易记住。

答案 2 :(得分:2)

Hex是CPU实际使用的二进制文件的可读形式。在查看低级命令时,通常更有意义的是匹配CPU并以十六进制思考,