2010-09-17 75 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

相關問題