javascript ->>= 在 JavaScript 中如何工作

标签 javascript

<分区>

这个运算符在 JavaScript 中是如何工作的。从 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String#Non-native_methods 中找到

var s = 12;
s>>=1;
console.log( s );
s>>=1;
console.log( s );
s>>=1;
console.log( s );

我得到结果“6,3,1”。我很好奇它的工作原理。

最佳答案

>>= 执行按位右二进制移位,并将结果分配回左侧操作数。

12      is 0b1100
12 >> 1 is 0b0110 (6)
 6 >> 1 is 0b0011 (3)
 3 >> 1 is 0b0001 (1)

请注意,一位右移等同于“整数除以二”操作。

在 JS 中,所有按位运算(>>> 除外)都将左侧操作数隐式转换为带符号的 32 位数字。 >>> 操作案例到 unsigned 32 位数字。

关于javascript ->>= 在 JavaScript 中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16418175/

相关文章:

javascript - CKEditor 将 block 引用更改为 p

javascript - 在JavaScript中播放特定时间的音频

javascript - <td> 标签中的居中文本

javascript - 使用 sails js 删除记录时 Mongo 出错

javascript - 获取字段属性的 JQuery 通用工具。

javascript - Analytics + Facebook 跟踪 Javascript 问题与 document.getElementsByTagName ('script' )[0]

javascript - XHR 不再适用于 jQuery $.ajax

javascript - getSheetValues 不返回数据 Google 脚本

javascript - <li> 获取一些元素后消失

javascript - 绘制图像函数时出现类型错误