Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
32位无符号JavaScript逐位操作短一个_Javascript_Bit Manipulation_Bitwise Operators - Fatal编程技术网

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.