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

📅  最后修改于: 2022-05-13 01:56:32.461000             🧑  作者: Mango

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

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

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

例子:

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

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

句法:

result = expression1 >>> expression2

>>> 和 >> 之间的区别:
这两者之间的区别在于无符号零填充右移运算符(>>>)从左边用零填充,而有符号右移位运算符(>>)从左边用符号位填充,因此它保持移位时整数值的符号。

示例:此示例实现了 >>>运算符的使用:

  • 程序:
    
    
      
    
        >>> Operator in JavaScript
          
        
    
      
    
        

    GeeksforGeeks

        

    The >>> Operator in JavaScript

                  
  • 输出:

    解释:对于非负数,零填充右移(>>>)和符号传播右移(>>)给出相同的输出。例如,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)