我有这段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