【发布时间】:2011-05-25 03:26:10
【问题描述】:
javascript中somevar >> 0的符号是什么意思?
谢谢
【问题讨论】:
-
>>是 bitshifting 但我不知道你为什么要位移 0 (除非有一些我不知道的副作用,它不会做任何事情......)跨度>
标签: javascript operators
javascript中somevar >> 0的符号是什么意思?
谢谢
【问题讨论】:
>> 是 bitshifting 但我不知道你为什么要位移 0 (除非有一些我不知道的副作用,它不会做任何事情......)跨度>
标签: javascript operators
在a >> b 中,>> 是一个按位运算符,它将二进制表示中的a 向右移动b (https://developer.mozilla.org/en/JavaScript/Reference/Operators/Bitwise_Operators
【讨论】:
Bitwise right shift。虽然somevar >> 0 看起来很奇怪。
【讨论】:
somevar >> 0 等于somevar
34359739705 >> 0 == 1337.
>>) 仅用于有符号的 32 位整数。所以执行34359739705 & 0x8FFFFFFF 得到一个有符号的32 位整数。还有34359739705 & 0x8FFFFFFF === 1337。
这是一个bitwise operator. 在这种情况下,为了以二进制表示形式移动第一个操作数,向右移动第二个操作数中指定的位数,丢弃移位的位。
用0 作为第二个操作数,我猜它没有效果(移位0位,得到相同的值?)。
我最后错了。如this @Gumbo's comment 所述。
【讨论】: