Blog
Números Binarios y Operadores Bitwise en Python
- Publicado por: Rafael Fernandez
- Categoría: Blog Principiante Python

Números Binarios
En los niveles mas bajos de la computación no existe la noción de lo que es un número. Una computadora solo puede saber cuando hay o no una señal presente.
Esta información de “hay una señal” o “no hay una señal” es representada por un “1” o un “0” respectivamente y es almacenada en lo que se conoce como bit. Un bit es la unidad de información mas pequeña que puede ser almacenada en una computadora. Los bits pueden ser representados como bajos o vacíos con un “0” y como altos o llenos con un “1”.
Para representar números mayores que “1”, se tuvo la idea de utilizar cadenas de bits. Una cadena de 8 bits es conocida como un byte la cual tiene la posibilidad de almacenar muchos mas números, 2⁸ para ser exactos, la cual es una cantidad mucho mayor que 1.
Todo esto dio origen a lo que hoy se conoce como sistema binario. El sistema binario es un sistema de numeración utilizado para representar números decimales. El sistema binario es de base 2, lo cual quiere decir que dispone solo de 2 números para representar cantidades. El sistema decimal (números comunes) es de base 10.
Cada bit lleno de una cadena de bits tiene un valor decimal de 2^n, siendo “n” la posición de derecha a izquierda, comenzando desde cero, en la que el bit se encuentra. En caso de no estar lleno, el bit vale 0. Para obtener valor en números decimales de un número binario, se suma el valor de todos los bits llenos.
Entonces, teniendo en cuenta ésto, los valores de las siguientes cadenas de bits serán:
Números Binarios y su Representación Decimal en Python
print(int('00',2)) # Imprime '0' print(int('01',2)) # Imprime '1' print(int('10',2)) # Imprime '2' print(int('11',2)) # Imprime '3'
Con int() se convierte el número binario a número decimal entero. El primer parámetro es el número binario y el segundo parámetro es la base del número que se paso en el primer parámetro. La salida de esto es el valor decimal del número binario.
Operadores Bitwise en Python
Operador shift (<<, >>): Es utilizado para mover los bits de una cadena de bits hacia la izquierda o hacia la derecha. Para mover los bits de un número binario ‘x’, ‘y’ espacios hacia la izquierda o derecha, se escribe:
x << y # Se mueven los bits 'y' espacios hacia la izquierda x >> y # Se mueven los bits 'y' espacios hacia la derecha
Los bits que lleguen a la posición 0 y sigan moviéndose hacia la derecha serán eliminados.
Operador AND (&): Es utilizado para devolver los bits altos comunes entre dos cadenas de bits.
A = int('010101',2) B = int('110110',2) C = A & B # C será int('010100',2)
Operador OR ( | ): Es utilizado para devolver todos los bits altos comunes y no comunes entre dos cadenas de bits.
A = int('010101',2) B = int('110110',2) C = A | B # C será int('110111', 2)
Operador XOR (^): Es utilizado para devolver todos los bits altos no comunes entre dos cadenas de bits.
A = int('010101',2) B = int('110110',2) C = A ^ B # C será int('100011', 2)
Operador NOT (~): Es utilizado para devolver el complemento de una cadena de bits. Todos los bits altos los convierte en bits bajos y todos los bits bajos los convierte en bits altos.
A = int('010101',2) B = ~A # B será int('101010',2)