“somevar >> 0”是啥意思?

Posted

技术标签:

【中文标题】“somevar >> 0”是啥意思?【英文标题】:What does "somevar >> 0" mean?“somevar >> 0”是什么意思? 【发布时间】:2011-05-25 03:26:10 【问题描述】:

javascriptsomevar >> 0的符号是什么意思?

谢谢

【问题讨论】:

>> 是 bitshifting 但我不知道你为什么要位移 0 (除非有一些我不知道的副作用,它不会做任何事情......)跨度> 【参考方案1】:

a >> b 中,>> 是一个按位运算符,它将二进制表示中的a 向右移动b (https://developer.mozilla.org/en/JavaScript/Reference/Operators/Bitwise_Operators

【讨论】:

【参考方案2】:

Bitwise right shift。虽然somevar >> 0 看起来很奇怪。

【讨论】:

这有点令人困惑,因为唯一的数字类型是双精度数。 @Gumbo,因为somevar >> 0 等于somevar @dheerosaur 不一定:34359739705 >> 0 == 1337. @jleedev,哦,谢谢。因此,它将第一个操作数转换为 32 位整数并进行移位。对吗? @Tomas Narros:Signed Right Shift Operator (>>) 仅用于有符号的 32 位整数。所以执行34359739705 & 0x8FFFFFFF 得到一个有符号的32 位整数。还有34359739705 & 0x8FFFFFFF === 1337【参考方案3】:

这是一个bitwise operator. 在这种情况下,为了以二进制表示形式移动第一个操作数,向右移动第二个操作数中指定的位数,丢弃移位的位。

0 作为第二个操作数,我猜它没有效果(移位0位,得到相同的值?)。

我最后错了。如this @Gumbo's comment 所述。

【讨论】:

以上是关于“somevar >> 0”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

“this”这个词是啥意思,“static”是啥意思?

“||”是啥意思在 var 语句中是啥意思? [复制]

PPPoE是啥意思,PPPoE是啥意思

“内容”是啥意思:在招摇/openapi“响应”中是啥意思:

TypeScript 这个语法“-?”是啥意思? (破折号问题)是啥意思?

“?”是啥意思?调用jsp时标记是啥意思? [复制]