como-usar-desplazamiento-binario

Qué es y cómo usar la operación de desplazamiento binario

Las operaciones de desplazamiento a izquierda << y a derecha >> son operaciones básicas en la manipulación de datos binarios.

Estas operaciones simplemente desplazan los bits de un número en una o varias posiciones hacia la izquierda o hacia la derecha.

¿Porqué son útiles estas dos operaciones? Si recordamos, cada dígito de un número binario expresa un factor que va a multiplicar a una potencia de número 2.

Por ejemplo,

Binario010110
Potencia32168421
Multiplicar1642

Si desplazamos todos los bits a la izquierda, cada potencia tiene un número más. Es decir, es como si hubiéramos multiplicado todo el número por dos.

<< 1101100
Potencia32168421
Multiplicar3284

Por el contrario, desplazar a la derecha es equivalente a dividir entre dos.

>> 1001011
Potencia32168421
Multiplicar821

Estas operaciones tienen la ventaja de que son muy rápidas y eficientes a nivel de hardware. Por lo que son ampliamente utilizadas a nivel interno por el ordenador.

Desplazamiento a izquierda

El desplazamiento a izquierda es una operación que mueve todos los bits de un número binario hacia la izquierda en una cantidad determinada de posiciones.

Este desplazamiento equivale a multiplicar el número binario por potencias de dos, dependiendo del número de posiciones desplazadas.

Por ejemplo, al desplazar el número binario 1011 (11 en decimal) dos posiciones a la izquierda:

    1011  (binario original)
<<  2     (desplazamiento a izquierda de dos posiciones)
_________
  101100  (resultado)

El resultado es 101100, que es igual a 44 en decimal. Es decir, como haber multiplicado 1011por 2 dos veces.

Desplazamiento a derecha

El desplazamiento a derecha es una operación que mueve todos los bits de un número binario hacia la derecha en una cantidad determinada de posiciones.

Este desplazamiento equivale a realizar una división entera por potencias de dos, dependiendo del número de posiciones desplazadas.

Por ejemplo, al desplazar el número binario 1011 (11 en decimal) dos posiciones a la derecha:

    1011  (binario original)
>>  2     (desplazamiento a derecha de dos posiciones)
_________
      10  (resultado)

El resultado es 10, que es igual a 2 en decimal, que es lo mismo que si hubiéramos dividido 11 entre 2 veces (desechando los restos).