2010-09-17 38 views

回答

17

这是一个zero-fill right shift。这不会对正整数或0做任何事情,但它会对负数做有趣的事情(因为most significant bit changes to zero)。

2 >>> 0 === 2 
1 >>> 0 === 1 
0 >>> 0 === 0 
-1 >>> 0 === 4294967295 
-2 >>> 0 === 4294967294 
-3 >>> 0 === 4294967293 

应当指出的(感谢安迪!)是位做移位前在JavaScript converts the arguments to signed 32-bit integers转移。因此>>> 0基本上不上正数一个Math.floor

1.1 >>> 0 === 1 
1.9 >>> 0 === 1 
+0

我想+1,但我觉得不得不首先进行一个小修改;-)如果你想:--) – 2010-09-17 10:37:23

+1

@Andy非常感谢,并且很好。 – Skilldrick 2010-09-17 10:37:53

+0

Brilliant !! ...非常感谢Skilldrick,Andy E和acqu13sce。也感谢参考。 – 2010-09-17 10:58:40

1

这是位运算符的第一个问题。这意味着将n移位0位。不确定在您展示的实例中它要做什么。

a >>> b // shift a by b bits to the right, padding with zeros 
+1

'(一个>>> 0)'用于强迫'A'到一个32位无符号整数。 – 2011-12-15 22:27:48

相关问题