继续我刚才的问题 Why I cannot derive from long?长型,左移,右移位操作
我发现了一个有趣的问题。
步骤一:
4294967296 & 0xFFFFFFFF00000000
结果:4294967296
第二步。
4294967296 & 0x00000000FFFFFFFF
结果:0
啊哈,所以在这里我认为4294967296 == 0xFFFFFFFF的
让我们来看看
(long)0x00000000FFFFFFFF
结果:4294967295失败。
让我们仔细检查
4294967296 >> 32
结果:1失败。
唯一的解释是,因为我使用很长的地方 有些位是为符号保留。在C中我会使用无符号long。 你认为什么人?
一个数字看起来像......中的十进制数不能等于一个看起来像的数字。 ..F in hex。一个是偶然的,一个是奇怪的! – AakashM 2009-11-23 15:12:00