JavaScript>>>表示零填充右移运算符。也称为无符号右移运算符。它属于按位运算符类别。按位运算符将操作数视为32位整数, 并对其二进制表示形式进行运算。
零填充右移(>>>)运算符:
它是一个二进制运算符, 其中第一个操作数指定数字, 第二个操作数指定要移位的位数。运算符将第一操作数的位移位第二操作数指定的位数。这些位将向右移动, 而那些多余的位将被丢弃, 而从左开始将添加0位。当符号位变为0时, 运算符(>>>)返回32位非负整数。
例子:
Input:
A = 6 ( 00000000000000000000000000000110 )
B = 1 ( 00000000000000000000000000000001 )
Output:
A>>> B = 3 ( 00000000000000000000000000000011 )
语法如下:
result = expression1>>> expression2
>>>和>>之间的区别:
两者之间的区别在于, 无符号的零填充右移运算符(>>>)从左侧填充零, 而有符号的右移位运算符(>>)则从左侧填充符号, 因此保持移位时整数值的符号。
例子:这个例子实现了>>>运算符的使用:
程序:
<!DOCTYPE html>
<html>
<head>
<title>>>> Operator in JavaScript</title>
<style>
body {
text-align: center;
}
h1 {
color: green;
}
</style>
</head>
<body>
<h1>srcmini</h1>
<h3>The>>> Operator in JavaScript</h3>
<script>
document.write("For non negative number:<br>");
var a = 12;
//Shift right two bits
var b = 2;
document.write("a = " + a + " , b = " + b);
document.write("<br>a>>> b = " + (a>>> b) + '<br>');
document.write("<br>For negative number:<br>");
var a = -10;
//Shift right two bits
var b = 3;
document.write("a = " + a + " , b = " + b);
document.write("<br>a>>> b = " + (a>>> b) + '<br>');
</script>
</body>
</html>
输出如下:
说明:对于非负数, 零填充右移(>>>)和正负号传播的右移(>>)给出相同的输出。例如, 9>>> 2和9>> 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)
来源:
https://www.srcmini02.com/68066.html