我有這段JavaScript代碼的,我想了解'>>>'在JavaScript中表示什麼?
return (n >>> 0) * 2.34e10;
那麼,是什麼>>>意味着什麼呢?
而且在此先感謝...這是我對SO
我有這段JavaScript代碼的,我想了解'>>>'在JavaScript中表示什麼?
return (n >>> 0) * 2.34e10;
那麼,是什麼>>>意味着什麼呢?
而且在此先感謝...這是我對SO
這是一個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
這是位運算符的第一個問題。這意味着將n移位0位。不確定在您展示的實例中它要做什麼。
a >>> b // shift a by b bits to the right, padding with zeros
'(一個>>> 0)'用於強迫'A'到一個32位無符號整數。 – 2011-12-15 22:27:48
我想+1,但我覺得不得不首先進行一個小修改;-)如果你想:--) – 2010-09-17 10:37:23
@Andy非常感謝,並且很好。 – Skilldrick 2010-09-17 10:37:53
Brilliant !! ...非常感謝Skilldrick,Andy E和acqu13sce。也感謝參考。 – 2010-09-17 10:58:40