嘿!我在http://www.gnu.org/software/m68hc11/examples/primes_8c-source.html查看这段代码
我注意到在某些情况下他们使用十六进制数字,例如第 134 行:
for (j = 1; val && j <= 0x80; j <<= 1, q++)
现在他们为什么要使用 0x80?我对十六进制不是很好,但我发现了一个在线十六进制到十进制,它给了我 128 的 0x80。
同样在第 134 行之前,在第 114 行,他们有这个:
small_n = (n & 0xffff0000) == 0;
十六进制到十进制给了我 4294901760 那个十六进制数。所以在这一行中,他们做了一点 AND 并将结果与 0 进行比较?
为什么不直接使用号码?任何人都可以解释一下,并请给出其他情况的例子。
此外,我还看到了大行代码,其中只是十六进制数字,但从未真正理解为什么:(