java - 为什么使用十六进制值而不是普通的 10 进制数字?

标签 java c hex math.sqrt

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

最佳答案

因为十六进制比十进制数字更接近于位。每个十六进制数字对应 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

关于java - 为什么使用十六进制值而不是普通的 10 进制数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451886/

相关文章:

Java 日志记录没有记录所有类?

java - Java/Spring Web 应用程序的文件结构

java - session 变量未设置

java - JavaFX无法播放mp3文件

c - 可以从 C 或 Fortran 中读取 .Rdata 文件格式吗?

C - 格式指定 int 类型,但参数的类型为 long

c++ - 将无符号短裤数组转换为无符号字符数组

c - 如何将 Basys mx3 计时器从十六进制更改为十进制

c++ - 如何使用字符串流格式化十六进制数字

javascript - 搜索可能包含十六进制字符的单词