JavaScript >>>运算符是什么以及如何使用它

JavaScript >>>运算符是什么以及如何使用它

JavaScript的>>>代表零填充右移运算符。它也被称为无符号右移位运算符。它属于按位运算符的范畴。按位运算符将操作数视为32位整数,并对它们的二进制表示进行操作。

零填充右移 ( >>>) 运算符:它是一个二元运算符,其中第一个操作数指定数字,第二个操作数指定要移位的位数。该运算符将第一个操作数的位向右移动指定的位数。多余的位将被丢弃,同时从左边添加0位。由于符号位变为0,该运算符 (>>>) 返回一个32位的非负整数。

示例:

Input:
A = 6 ( 00000000000000000000000000000110 )
B = 1 ( 00000000000000000000000000000001 )

Output:
A >>> B = 3 ( 00000000000000000000000000000011 )

语法:

result = expression1 >>> expression2

>>>>> 的区别: 这两者的区别在于无符号零填充右移操作符(>>>)从左侧用零填充,而有符号右位移操作符(>>)从左侧用符号位填充,因此在移位时保持整数值的符号不变。

示例: 此示例实现了使用 >>> 操作符:

console.log("For non negative number:<br>");
let a = 12;
 
// Shift right two bits
let b = 2;
console.log("a = " + a + " , b = " + b);
console.log("<br>a >>> b = " + (a >>> b) + '<br>');
 
console.log("<br>For negative number:<br>");
let a = -10;
 
// Shift right two bits
let b = 3;
console.log("a = " + a + " , b = " + b);

输出

For non negative number:<br>
a = 12 , b = 2
<br>a >>> b = 3<br>
<br>For negative number:<br>
a = -10 , b = 3

说明: 对于非负数来说,零填充右移(>>>)和符号传播右移(>>)得到的结果是相同的。例如,9 >>> 29 >> 2 得到的结果都是 2。但是对于负数来说,-9 >>> 2 的结果是 1073741821,而 -9 >> 2 的结果是 -3。

Case 1: non-negative number
    12 (base 10): 00000000000000000000000000001100 (base 2)
                   --------------------------------
    12 >>> 2 (base 10): 00000000000000000000000000000011 (base 2)
    = 3 (base 10)

Case 2: negative number
    -10 (base 10): 11111111111111111111111111110110 (base 2)
                    --------------------------------
    -10 >>> 3 (base 10): 00011111111111111111111111111110 (base 2)
= 536870910 (base 10) 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程