Operadores bit a bit de Python [con ejemplos]

Publicado: 2022-09-11

El lenguaje de programación Python proporciona operadores bit a bit para permitir a los programadores manipular datos al nivel más básico, dándoles mucho más control sobre todas las variables.

Python es uno de los lenguajes de programación más populares en el mundo actual. La versatilidad de Python y la cantidad de funciones que ofrece son algunas de las razones de su creciente popularidad. Este artículo explorará los operadores bit a bit en Python, los diferentes tipos de operadores bit a bit, sus usos y mucho más.

Tabla de contenido

Descripción general de los operadores bit a bit de Python

Los operadores bit a bit tienen el mismo aspecto en diferentes lenguajes de programación. Python viene con varios tipos de operadores, como operadores aritméticos, lógicos y de comparación.

Operador Ejemplo Sentido
& a & b Y bit a bit
| un | b O bit a bit
^ un ^ segundo XOR bit a bit (OR exclusivo)
~ ~ un bit a bit NO
<< un << norte Desplazamiento a la izquierda bit a bit
>> un >> norte Desplazamiento a la derecha bit a bit

La mayoría de los operadores bit a bit son binarios, lo que significa que necesitan dos operandos para trabajar, generalmente denominados operandos izquierdo y derecho. Bitwise NOT (~) es el único operador bit a bit unario ya que solo necesita un operando.

Explore nuestros cursos populares de ciencia de datos

Programa Ejecutivo de Postgrado en Data Science del IIITB Programa de Certificado Profesional en Ciencia de Datos para la Toma de Decisiones Empresariales Maestría en Ciencias en Ciencia de Datos de la Universidad de Arizona
Programa de Certificado Avanzado en Ciencia de Datos de IIITB Programa de certificado profesional en ciencia de datos y análisis empresarial de la Universidad de Maryland Cursos de ciencia de datos

¿Qué son los operadores bit a bit?

Los operadores bit a bit son uno de los tipos de operadores utilizados para realizar cálculos bit a bit en números enteros. Los números enteros se convierten primero en binario y luego las operaciones se realizan poco a poco, de ahí el nombre de operadores bit a bit. El resultado se convierte luego en formato decimal. Estos operadores pueden realizar cálculos solo en números enteros.

Consulte nuestras certificaciones de ciencia de datos para mejorar sus habilidades.

La importancia de los operadores bit a bit

Probablemente entendió qué son los operadores bit a bit, ahora centrémonos en la importancia de los operadores bit a bit. Son mejores que los operadores aritméticos y he aquí por qué necesita usarlos:

  • Velocidad de ejecución

Los operadores bit a bit son más rápidos que realizar multiplicaciones o divisiones. Si necesita multiplicar una variable x por, digamos, 9, puede hacerlo (x<<3 + x), que sería unos ciclos más rápido que (x*9).

  • Comprobación de errores

Los operadores bit a bit se utilizan ampliamente para verificar errores. Si está enviando algunos bits a otra computadora en otro servidor, es probable que haya algunos errores. Puede identificar estos errores utilizando operadores bit a bit.

Probablemente comprenda el uso y la importancia de los operadores bit a bit, así que avancemos para comprender los diferentes tipos de operadores bit a bit.

Diferentes tipos de operadores bit a bit

Operadores lógicos bit a bit

Los operadores bit a bit and, or y xor son operadores binarios que tienen un operando izquierdo y derecho. El operador bit a bit no es un operando unario que solo tiene un operando derecho. El tipo de resultado de los cuatro operadores bit a bit es entero. Los operadores lógicos bit a bit examinan un bit a la vez en su operando antes y calculan el valor correspondiente en el resultado.

Y bit a bit

El operador AND (&) se utiliza para realizar un AND entre dos bits. En este caso, ambos bits deben ser verdaderos para que la salida sea verdadera. Si alguno de los bits es falso, la salida es falsa. En otras palabras, si ambos bits son 1, devuelve 1 sino 0.

1&1 = 1

1&0 = 0

0&0 = 0

0&1 = 0

Ejemplo:

a = 10 = 1010 (Binario)

b = 4 = 0100 (Binario)

a y b = 1010

&

0100

= 0000

= 0 (decimales)

O bit a bit

El operador OR (|) se utiliza para realizar la operación OR entre dos bits. Para que la salida sea verdadera, uno de los bits debe ser verdadero. A diferencia del operador (&), no es necesario que ambos bits sean verdaderos para que el resultado sea verdadero. En otras palabras, el bit resultante es 0 si y solo si ambos bits en consideración son 0; de lo contrario, el resultado es 1.

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

Ejemplo:

a = 10 = 1010 (Binario)

b = 4 = 0100 (Binario)

un | b = 1010

|

0100

= 1110

= 14 (decimales)

bit a bit NO

El operador bit a bit NOT (~) se usa para devolver el complemento del número en Python. Sin embargo, el operador not es un operador muy simple y se usa para cambiar el bit de 0 a 1 y de 1 a 0.

~13 (0b01101) = -14

~16 (0b010000) = -17

~31 (0b011111) = -32

Ejemplo:

a = 10 = 1010 (Binario)

~a = ~1010

= -(1010 + 1)

= -(1011)

= -11 (decimal) Operador XOR bit a bit

El operador XOR (^) se usa para XOR entre dos bits que están en operación. La operación XOR es muy simple. Si dos bits son iguales, el bit resultante es 0 o 1. Se usa ampliamente en cálculos lógicos para acelerar el proceso.

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

Ejemplo:

a = 10 = 1010 (Binario)

b = 4 = 0100 (Binario)

a y b = 1010

^

0100

= 1110

= 14 (decimales)

Operadores de Turno

Estos operadores bit a bit se utilizan para desplazar los bits de un número de izquierda a derecha multiplicando o dividiendo el número por dos, respectivamente. Se pueden usar cuando tenemos que dividir o multiplicar el número por dos.

Desplazamiento a la derecha bit a bit

El operador derecho (>>), como sugiere el nombre, desplaza los bits hacia la derecha a un número representado a la derecha del operador.

Lea nuestros populares artículos de ciencia de datos

Trayectoria profesional en ciencia de datos: una guía profesional completa Crecimiento profesional en ciencia de datos: el futuro del trabajo ya está aquí ¿Por qué es importante la ciencia de datos? 8 formas en que la ciencia de datos aporta valor al negocio
Relevancia de la ciencia de datos para los gerentes La última hoja de trucos de ciencia de datos que todo científico de datos debería tener Las 6 razones principales por las que debería convertirse en científico de datos
Un día en la vida del científico de datos: ¿Qué hacen? Mito reventado: la ciencia de datos no necesita codificación Business Intelligence vs Data Science: ¿Cuáles son las diferencias?

Por ejemplo, 10>>2 desplazará (1010) hacia la derecha en 2.

Ejemplo 1:

a = 10 = 0000 1010 (Binario)

un >> 1 = 0000 0101 = 5

Ejemplo 2:

a = -10 = 1111 0110 (Binario)

a >> 1 = 1111 1011 = -5

Desplazamiento a la izquierda bit a bit

El operador izquierdo (<<), como sugiere el nombre, desplaza los bits hacia la izquierda a un número representado en el lado derecho del operador.

Por ejemplo, 1<< 2 desplazará 1 hacia la izquierda para 2 valores.

Ejemplo 1:

a = 5 = 0000 0101 (Binario)

a << 1 = 0000 1010 = 10

a << 2 = 0001 0100 = 20

Ejemplo 2:

b = -10 = 1111 0110 (Binario)

b << 1 = 1110 1100 = -20

b << 2 = 1101 1000 = -40

Lea nuestros populares artículos de ciencia de datos

Trayectoria profesional en ciencia de datos: una guía profesional completa Crecimiento profesional en ciencia de datos: el futuro del trabajo ya está aquí ¿Por qué es importante la ciencia de datos? 8 formas en que la ciencia de datos aporta valor al negocio
Relevancia de la ciencia de datos para los gerentes La última hoja de trucos de ciencia de datos que todo científico de datos debería tener Las 6 razones principales por las que debería convertirse en científico de datos
Un día en la vida del científico de datos: ¿Qué hacen? Mito reventado: la ciencia de datos no necesita codificación Business Intelligence vs Data Science: ¿Cuáles son las diferencias?

Conclusión

Tener una buena comprensión de los operadores bit a bit de Python lo ayudará a manipular datos binarios en sus proyectos. Ahora comprende los conceptos básicos de los operadores bit a bit y su sintaxis y los tipos de datos que los admiten. También puede personalizar su comportamiento para sus propias necesidades.

Si está ansioso por aprender y ampliar sus conocimientos sobre Python y los operadores bit a bit, consulte el Programa de certificación profesional de UpGrad y la Universidad de Maryland en ciencia de datos y análisis empresarial , creado para profesionales en activo que ofrece más de 20 estudios de casos y tareas que pueden ser agregado a su cartera, más de 100 horas de sesiones en vivo, más de 400 horas de aprendizaje con asistencia laboral de las mejores empresas.

¿Dónde se utilizan los operadores bit a bit?

Los operadores bit a bit se pueden utilizar para manipular bits individuales de un número. En Python, los operadores bit a bit realizan cálculos bit a bit en números enteros. Primero, los números enteros se convierten en binarios, y luego las operaciones se realizan en pequeños fragmentos: así es como los operadores bit a bit obtuvieron su nombre. Los operadores bit a bit de Python se usan exclusivamente en números enteros y devuelven resultados en formato decimal.

¿Qué es un operador de operando único?

Los operadores aritméticos realizan operaciones matemáticas como la suma y la resta con operandos. Unario y binario son las dos categorías de operadores matemáticos. Los operadores unarios realizan una función con un solo operando, por ejemplo: Bitwise NOT (~), mientras que los operadores binarios usan dos operandos.

¿Por qué necesitamos operadores bit a bit?

Los operadores bit a bit son una excelente manera de usar el espacio de manera eficiente al representar datos. Estos operadores son necesarios cuando se opera con datos proporcionados por el hardware donde un bit específico en un mundo es significativo. Los operadores bit a bit son necesarios para ahorrar memoria. Empaquetar datos en bits en lugar de palabras ahorra memoria y, a menudo, es posible que tenga grandes cantidades de datos y cantidades limitadas de memoria.