¿Qué es JavaScript >>> Operador y cómo usarlo?

JavaScript >>> representa el operador de desplazamiento a la derecha de relleno cero. También se denomina operador de desplazamiento de bit a la derecha sin signo. Viene bajo la categoría de operadores Bitwise. Los operadores bit a bit tratan los operandos como números enteros de 32 bits y operan en su representación binaria.

Operador de desplazamiento a la derecha de cero relleno (>>>):
Es un operador binario, donde el primer operando especifica el número y el segundo operando especifica el número de bits a desplazar. El operador desplaza los bits del primer operando por un número de bits especificado por el segundo operando. Los bits se desplazan hacia la derecha y los bits sobrantes se descartan, mientras que el bit 0 se agrega desde la izquierda. Cuando el bit de signo se convierte en 0, el operador ( >>> ) devuelve un entero no negativo de 32 bits.

Ejemplo:

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

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

Sintaxis:

result = expression1 >>> expression2

Diferencia entre >>> y >> :
La diferencia entre estos dos es que el operador de desplazamiento a la derecha de relleno cero sin signo (>>>) se rellena con ceros desde la izquierda, y el operador de desplazamiento de bit a la derecha con signo (>>) se rellena con el bit de signo desde la izquierda, por lo que mantiene el signo del valor entero cuando se desplaza.

Ejemplo: Este ejemplo implementa el uso del operador >>>:

  • Programa:

    <!DOCTYPE html>
    <html>
      
    <head>
        <title>>>> Operator in JavaScript</title>
          
        <style>
            body {
                text-align: center;
            }
              
            h1 {
                color: green;
            }
        </style>
    </head>
      
    <body>
        <h1>GeeksforGeeks</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>
  • Producción:
  • Explicación: para números no negativos, el desplazamiento a la derecha de relleno cero (>>>) y el desplazamiento a la derecha con propagación de signos (>>) dan el mismo resultado. Por ejemplo, 9 >>> 2 y 9 >> 2 dan el mismo resultado, es decir, 2. Pero para números negativos, -9 >>> 2 da 1073741821 y -9 >> 2 da -3 como salida.

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) 

Publicación traducida automáticamente

Artículo escrito por g_ragini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *