¿Qué necesita saber sobre los operadores bit a bit de Python? [Explicado con ejemplos]

Publicado: 2021-10-06

Los sistemas informáticos representan, almacenan y transmiten datos como un flujo de dígitos binarios llamados bits. 'Binario' significa que solo puede haber dos valores posibles, 0 y 1, y cada uno de esos dígitos binarios se conoce como 'bit'. Ya sea que trabaje con texto, números decimales, imágenes, sonidos o videos, el software de computadora traduce la información en un código binario que comprende 0 y 1. A menudo denominada lenguaje de máquina, la información binaria es el nivel más fundamental de información que almacena un sistema informático.

Los operadores bit a bit en Python nos permiten manipular bits de datos individuales al nivel más básico. En otras palabras, los operadores bit a bit en Python se utilizan para realizar cálculos bit a bit en valores enteros. Por lo tanto, los valores enteros se convierten primero en forma binaria y luego se realizan operaciones bit a bit. Después de realizar las 'operaciones bit a bit', los resultados se devuelven en formato decimal. Los operadores bit a bit en Python solo funcionan con números enteros. Mejorar tus habilidades con programas de ciencia de datos te ayudará a superar los desafíos. Hablemos más sobre la minería de textos.

Ahora, exploremos los operadores bit a bit de Python con más detalle, los tipos, cómo funcionan y los ejemplos.

Tabla de contenido

Operadores bit a bit en Python

Python incluye seis operadores para realizar operaciones lógicas bit a bit en números enteros.

Los siguientes son los diferentes operadores bit a bit en Python con su sintaxis y una descripción de lo que hace cada uno.

Operador

Sintaxis

Descripción

Y bit a bit

a & b

El operador devuelve 1 si ambos bits en los operandos son 1. De lo contrario, devuelve 0.

O bit a bit

un | B

El operador devuelve 1 si alguno de los bits de los operandos es 1. De lo contrario, devuelve 0.

bit a bit NO

~ un

Un operador bit a bit unario que realiza la negación lógica de un número dado cambiando todos sus bits. Aritméticamente, se expresa restando valores de bits individuales de uno (~ai = 1 – ai).

XOR bit a bit

un ^ segundo

El operador devuelve 1 si un par de bits contiene valores de bits opuestos. De lo contrario devuelve 0.

Desplazamiento a la izquierda bit a bit

un <<

El operador desplaza los bits de su primer operando a la izquierda el número de lugares definido en el segundo operando. Además, el operador agrega suficientes 0 para llenar el espacio que se forma en el lado derecho del nuevo patrón de bits.

Desplazamiento a la derecha bit a bit

un >>

El operador empuja los bits hacia la derecha el número especificado de lugares. Por lo tanto, los bits más a la derecha siempre se eliminan.

Operadores bit a bit en Python con ejemplos

Con la descripción básica de cada operador bit a bit en mente, veamos algunos ejemplos para aclarar aún más el concepto.

1. Bit a bit Y (&)

Devuelve 1 si ambos bits son 1. De lo contrario, devuelve 0.

  • Ejemplo 1

a = 24 = 11000 (Binario)

b = 4 = 00100 (Binario)

a & b = 11000

&

00100

= 00000

= 0 (decimales)

  • Ejemplo #2

a = 10 = 1010 (Binario)

b = 2 = 0010 (Binario)

a y b = 1010

&

0010

= 0010

= 2 (decimales)

2. Bit a bit O ( | )

Devuelve 1 si alguno de los bits es 1. De lo contrario, devuelve 0.

  • Ejemplo 1

a = 67 = 1000011 (Binario)

b = 54 = 0110110 (Binario)

un | b = 1000011

|

0110110

= 1110111

= 119 (decimales)

  • Ejemplo #2

a = 6 = 000110 (Binario)

b = 34 = 100010 (Binario)

un | b = 000110

|

100010

= 100110

= 38 (decimales)

3. Bit a bit NO (~)

Devuelve el complemento a 1 del bit (invierte el bit).

  • Ejemplo 1

a = 60 = 111100 (Binario)

~a = ~111100

= 000011

= 3 (decimales)

  • Ejemplo #2

a = 33 = 100001 (Binario)

~a = ~100001

= 011110

= 30 (decimales)

4. XOR bit a bit (^)

Devuelve 1 si ambos bits tienen valores opuestos. De lo contrario devuelve 0.

  • Ejemplo 1

a = 61 = 0111101 (Binario)

b = 90 = 1011010 (Binario)

a ^ b = 0111101

^

1011010

= 1100111

= 103 (decimales)

  • Ejemplo #2

a = 2 = 000010 (Binario)

b = 55 = 110111 (Binario)

a ^ b = 000010

^

110111

= 110101

= 53 (decimales)

5. Desplazamiento a la izquierda bit a bit (<<)

Desplaza los bits a la izquierda y llena los huecos formados a la derecha con 0.

  • Ejemplo 1

a = 39 = 100111 (Binario)

a << 1 = 1001110 = 78 (decimal)

a << 2 = 10011100 = 156 (decimal)

a << 3 = 100111000 = 312 (decimal)

  • Ejemplo #2

b = 74 = 1001010 (Binario)

b << 1 = 10010100 = 148 (decimal)

b << 2 = 100101000 = 296 (decimal)

b << 3 = 1001010000 = 592 (decimal)

6. Mierda correcta bit a bit (>>)

Desplaza los bits a la derecha y llena los huecos formados a la izquierda con 0.

  • Ejemplo 1

a = 157 = 10011101 (Binario)

a >> 1 = 1001110 = 78 (decimal)

a >> 2 = 100111 = 39 (decimal)

a >> 3 = 10011 = 19 (decimales)

  • Ejemplo #2

b = 89 = 1011001 (Binario)

b >> 1 = 101100 = 44 (decimales)

b >> 2 = 010110 = 22 (decimales)

b >> 3 = 001011 = 11 (decimal)

Operadores bit a bit en Python (Ejemplos con código)

Los siguientes son algunos fragmentos de código simples para ilustrar los operadores bit a bit en Python:

1. Bit a bit Y, O, NO y XOR

Fuente

Fuente

2. Operadores de desplazamiento bit a bit

Fuente

Fuente

El camino a seguir: domine las habilidades de Python con el programa de certificación profesional en ciencia de datos de upGrad

¿Es usted un aspirante a Gerente de Negocios con casi ninguna experiencia en codificación? Entonces, upGrad lo tiene cubierto con el Programa de certificado profesional en ciencia de datos para la toma de decisiones comerciales.

El Programa de Certificado Profesional en Ciencia de Datos está especialmente diseñado para gerentes y profesionales en activo que desean desarrollar las habilidades y el conocimiento práctico en ciencia de datos fundamental. El riguroso programa en línea de 8 meses se enfoca en problemas de ciencia de datos, algoritmos y cómo se pueden presentar los datos para tomar decisiones comerciales importantes. El plan de estudios cubre los siguientes cursos:

  • Contenido preparatorio previo al programa
  • Resolución de problemas empresariales, conocimientos y narración de historias
  • Estadísticas y aprendizaje automático
  • Estrategia
  • proyecto final
  • Introducción a Python (Módulo opcional)

Aquí hay un vistazo a los aspectos más destacados del programa:

  • Certificación reconocida mundialmente de IIM Kozhikode
  • Más de 200 horas de contenido, más de 20 sesiones de aprendizaje en vivo, más de 5 sesiones de entrenamiento experto
  • 3 proyectos industriales y un capstone
  • Cobertura integral de Excel, Python, Tableau, R y Power BI
  • Apoyo profesional de 360 ​​grados
  • Uno a uno con mentores de la industria
  • Asistencia laboral con las mejores empresas.
  • Oportunidades de networking de la industria

Conclusión

Python es un lenguaje de programación poderoso, versátil y fácil de usar, lo que lo convierte en una opción popular entre expertos y principiantes por igual. Además, Python sigue siendo el lenguaje de programación elegido entre los desarrolladores debido a su gran eficiencia, versatilidad, confiabilidad y velocidad. Se puede utilizar en casi todo tipo de entornos y plataformas sin ninguna pérdida significativa de rendimiento. Además, Python impulsa la mayor parte de las cargas de trabajo de procesamiento de datos en muchas organizaciones. La facilidad de análisis de datos que ofrece Python lo hace útil para muchas aplicaciones, incluidos los proyectos de aprendizaje automático.

Sin duda, Python es útil para abordar procesos comerciales críticos, ya que constituye un aspecto fundamental de la ciencia de datos. Además, a medida que Big Data se expande y más y más empresas se enfocan en tomar decisiones basadas en datos, la importancia de Python no puede ser socavada. Entonces, si desea dominar Python y aplicar sus habilidades en escenarios comerciales basados ​​en datos, ¡regístrese en upGrad para aprender de los mejores en la industria!

¿Para qué se utilizan los operadores bit a bit?

Los operadores bit a bit en Python se utilizan para realizar cálculos bit a bit en valores enteros. Para ello, primero se transforman los enteros a binario, y luego se realizan diversas operaciones sobre, bit a bit, devolviendo el resultado en formato decimal. En Python, los operadores bit a bit solo se pueden usar en números enteros.

¿Los operadores bit a bit son rápidos?

En un procesador simple y de bajo costo, los operadores bit a bit suelen ser más rápidos que la división, la multiplicación y, a menudo, sustancialmente más rápidos que la suma. En general, los operadores bit a bit usan menos recursos y, por lo tanto, usan significativamente menos energía.

¿Cuál es el uso de los operadores lógicos en Python?

Python tiene tres operadores lógicos que permiten comparar valores. Los tres operadores lógicos AND, OR y NOT evalúan las expresiones en valores booleanos y devuelven True o False en función del resultado del operador. A continuación se muestran los tres operadores lógicos en Python:

1. AND (a y b): Verdadero si ambas expresiones son verdaderas
2. OR (a o b): Verdadero si al menos una expresión es verdadera
3. NOT (not a): verdadero solo si la expresión es falsa