为什么
((255<<24)|(255<<16)|(255<<8)|255)>>>0
时等于4294967295
Math.pow(256,4)
等于4294967296?
请注意,按位运算只有一个。这是为什么?!
答案 0 :(得分:13)
因为零占用二进制值。
4294967296是32位给出的“槽”数,4294967295是占用最高槽位的十进制数。
答案 1 :(得分:8)
因为第一个是2 ^ 32-1,第二个是2 ^ 32?你知道,使用第一个“语句”,你将值设置为1的前32位,对吗?
在32位中,第一位是“值”1,第二位是2,第三位是4 ......第32位2147483648.它们的总和是4294967295: - )
让我们以8位为例。
Math.pow(256,1) == 256
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255.