Desplazamiento de bit

Solano Vega Wilber Eleazar

Desplazamiento de Bit

Son considerados operaciones bit a bit, porque operan en la representación binaria de un número entero en vez de sobre su valor numérico; sin embargo, los desplazamientos de bits no operan en pares de bits correspondientes, y por lo tanto no pueden ser llamados propiamente como "bit a bit" (bit-wise).

En estas operaciones, los dígitos bits son movidos, o desplazados, hacia la izquierda o hacia la derecha, según el número de posiciones que se especifica.

Los registros en un procesador de computador tienen un ancho fijo, así que algunos bits “serán desplazados hacia fuera” ("shifted out"), es decir, "salen" del registro por un extremo, mientras que el mismo número de bits son “desplazados hacia adentro” ("shifted in"), es decir, "entran" por el otro extremo; las diferencias entre los operadores de desplazamiento de bits están en cómo éstos determinan los valores de los bits que entran al registro (desplazamiento hacia adentro) (shifted-in).


Tipos de desplazamientos

Hay dos desplazamientos lógicos (logical shifts). El desplazamiento lógico hacia la izquierda (left shift) y el desplazamiento lógico hacia la derecha (right shift). En el desplazamiento lógico los bits de un registro son desplazados (movidos) una o más posiciones hacia la derecha o hacia la izquierda. Los bits que salen del registro por un extremo se pierden y en el otro extremo del registro se rellena con un bit cero por cada bit desplazado.


Ejemplo:

Desplazamiento de bit con el circuito integrado 74HC595



Wilber Eleazar Solano Vega




Fuente bibliográfica:

[1]. Microsoft Ingine. (Oct. 18, 2018). "Operadores de desplazamiento bit a bit". [Online]. Disponible en: https://docs.microsoft.com/es-es/cpp/c-language/bitwise-shift-operators?view=msvc-160

[2]. Wikipedia. (Ago. 24, 2020). "Operador a nivel de bits". [Online]. Disponible en: https://es.wikipedia.org/wiki/Operador_a_nivel_de_bits

[3]. Autor Desconocido. (---). "Operadores a nivel bit". [Online]. Disponible en: https://users.exa.unicen.edu.ar/catedras/teoinfo/files/2017/operacionesBits.pdf

Comentarios

Entradas populares de este blog

ARREGLO LOGICO GENERICO (GAL)

Función "rising_edge" para VHDL

¿Qué es un microprocesador o MPU?