python-operadores-bitwise

Operadores de bitwise en Python

Los operadores bitwise en Python permiten manipular los bits individuales de números enteros. Son útiles para realizar operaciones a nivel de bits, como desplazamiento, AND, OR, XOR y complemento.

Los operadores bitwise en Python son los siguientes:

OperadorDescripción
AND (&)Realiza una operación AND bit a bit
OR (|)Realiza una operación OR bit a bit
XOR (^)Realiza una operación XOR bit a bit
Desplazamiento Izquierda (<<)Desplaza los bits a la izquierda
Desplazamiento Derecha (>>)Desplaza los bits a la derecha
Complemento (~)Devuelve el complemento a uno del número

Operador AND &

El operador AND (&) compara cada bit de dos operandos y devuelve 1 si ambos bits son 1, de lo contrario devuelve 0.

# Ejemplo de operador AND
a = 10  # 1010 en binario
b = 3   # 0011 en binario
resultado = a & b
print(resultado)  # Salida: 2
# Explicación: 1010 & 0011 = 0010 (decimal 2)

Operador OR |

El operador OR (|) compara cada bit de dos operandos y devuelve 1 si al menos uno de los bits es 1.

# Ejemplo de operador OR
a = 10  # 1010 en binario
b = 3   # 0011 en binario
resultado = a | b
print(resultado)  # Salida: 11
# Explicación: 1010 | 0011 = 1011 (decimal 11)

Operador XOR ^

El operador XOR (^) compara cada bit de dos operandos y devuelve 1 si exactamente uno de los bits es 1, pero no ambos.

# Ejemplo de operador XOR
a = 10  # 1010 en binario
b = 3   # 0011 en binario
resultado = a ^ b
print(resultado)  # Salida: 9
# Explicación: 1010 ^ 0011 = 1001 (decimal 9)

Operadores de desplazamiento

Los operadores de desplazamiento mueven los bits de un número hacia la izquierda (<<) o hacia la derecha (>>) en la cantidad especificada.

Ejemplo de Desplazamiento Izquierda

# Ejemplo de desplazamiento izquierda
a = 5   # 101 en binario
resultado = a << 2
print(resultado)  # Salida: 20
# Explicación: 101 << 2 = 10100 (decimal 20)

Ejemplo de Desplazamiento Derecha

# Ejemplo de desplazamiento derecha
a = 20   # 10100 en binario
resultado = a >> 2
print(resultado)  # Salida: 5
# Explicación: 10100 >> 2 = 101 (decimal 5)

Operador de complemento ~

El operador de complemento (~) invierte todos los bits de un número.

# Ejemplo de operador de complemento
a = 5   # 101 en binario
resultado = ~a
print(resultado)  # Salida: -6
# Explicación: ~101 = -110 (en complemento a dos, -6 en decimal)