嘿!我一直在寻找这个代码在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进行比较?
为什么不只是使用数字? 任何人都可以请解释,并请举例说明其他情况。
此外,我已经看到了大量行代码,它只是十六进制数,从来没有真正明白为什么:(
对第二个例子的小修改:它删除了一个四字节数字的低两个字节。删除较低的四个字节将简单地为“small_n = 0;”。 – 2008-10-28 16:36:10
D'Oh!你知道,我正在写“4位数字”和“两个字节”之间进行辩论,所以很自然地我把它们混合成了一个错误的陈述..... – 2008-10-28 17:18:16