32位无符号JavaScript逐位操作短一个
为什么32位无符号JavaScript逐位操作短一个,javascript,bit-manipulation,bitwise-operators,Javascript,Bit Manipulation,Bitwise Operators,为什么 ((255<<24)|(255<<16)|(255<<8)|255)>>>0 等于4294967296 请注意,按位操作是一个短操作。这是为什么 因为第一个是2^32-1,第二个是2^32?您知道,在第一个“语句”中,您将值的前32位设置为1,对吗 在32位中,第一位为“值”1,第二位为2,第三位为4。。。第32条2147483648。他们的总数是4294967295:-) 让我们用8位做一个例子 Math.pow(256,1) =
((255<<24)|(255<<16)|(255<<8)|255)>>>0
等于4294967296
请注意,按位操作是一个短操作。这是为什么 因为第一个是2^32-1,第二个是2^32?您知道,在第一个“语句”中,您将值的前32位设置为1,对吗 在32位中,第一位为“值”1,第二位为2,第三位为4。。。第32条2147483648。他们的总数是4294967295:-) 让我们用8位做一个例子
Math.pow(256,1) == 256
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255.
因为零占用一个二进制值
4294967296是32位给出的“插槽”数,4294967295是占用最高插槽的十进制数。Duh。呵呵(拍额头)是的,现在很明显了。非常感谢。明白了,谢谢。这确实有助于提醒我那些我似乎已经忘记的基本知识;)
Math.pow(256,1) == 256
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255.