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

Nop*_*ope 5 c java hex math.sqrt

我正在查看此代码math.sqrtJava 计算.为什么他们在某些循环和变量的正常值中使用十六进制值?使用hex有什么好处?

Dav*_*Ray 28

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

0xff
Run Code Online (Sandbox Code Playgroud)

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

0x7fffffff
Run Code Online (Sandbox Code Playgroud)

仅供参考:

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
Run Code Online (Sandbox Code Playgroud)