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
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