Python bit a bit NO

Fariba Laiq 21 junio 2023
Python bit a bit NO

Las operaciones bit a bit en Python le permiten realizar las manipulaciones más precisas en esos bits de datos individuales. Los operadores de Python admiten operaciones lógicas bit a bit en números enteros.

En este artículo, discutiremos el operador Bitwise NOT en Python.

Operador Bitwise NOT en Python

Un NOT bit a bit (o complemento), una operación unaria que realiza una negación lógica en cada bit para crear el complemento único del valor binario proporcionado, es una operación bit a bit. Los bits que son 0 cambian a 1, mientras que los bits que son 1 cambian a 0.

Bitwise NOT es equivalente al complemento a dos del valor menos uno. Un bit en particular llamado bit de signo se usa para almacenar si un entero es positivo o negativo (el signo del entero), y cualquier número positivo se convierte en un número negativo y viceversa, ya que este bit también se ve afectado por el Bitwise NOT.

Sintaxis:

~a

El símbolo del operador Bitwise NOT es ~.

En el siguiente ejemplo, hemos declarado una variable a con un valor de 1289. Luego, asígnalo a la variable x, en la que agregas el valor de y complementas el valor de a, y luego imprimes el valor de x, que es -1.

Código de ejemplo:

# Python 3.x
a = 1289
x = a + ~a
print(x)

Producción :

#Python 3.x
-1

En este siguiente ejemplo de código, declaramos una variable x y le asignamos 20. Luego, realizamos la operación Bitwise NOT, que da -21, como se muestra en la salida.

Código de ejemplo:

# Python 3.x
x = 20
print("~20 =", ~x)

Producción :

#Python 3.x
~20 = -21

En este último ejemplo, inicializaremos los datos utilizando el método especial init() para clases. La función invert() calcula la inversión bit a bit de los datos reasignando el atributo self al complemento.

Asigne el dato 3 a la variable x. El complemento de x se almacena en la variable res.

Al imprimir la res. data le dará -4 como salida.

Código de ejemplo:

# Python 3.x
class Data:
    def __init__(self, data):
        self.data = data

    def __invert__(self):
        return Data(~self.data)


x = Data(3)
res = ~x
print(res.data)

Producción :

#Python 3.x
-4
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Artículo relacionado - Python Operator