Representação de números binários em Python
Dígitos binários
consistem em apenas dois valores, 0 e 1. A partir desses dois valores, podemos criar quaisquer combinações de valores que existem no mundo.
Para trabalhar com os números binários
, podemos ter a abordagem ingênua e as bibliotecas de funções integradas do Python. A abordagem ingênua começa com os últimos dígitos dos números binários e segue o método de transporte para outros dígitos do número, enquanto as funções integradas do Python são usadas para converter os números binários
em decimais e, em seguida, realizar o desejado ações.
Os operadores Python bit a bit
ajudam você a trabalhar com números binários da maneira mais eficiente. Esses números binários funcionam da mesma forma que os números decimais, e a única diferença com o número decimal é a representação dos dados. Portanto, neste artigo, veremos como manipular os operadores bit a bit
em Python.
Soma de dois números binários
em Python
Este método inicializará primeiro os dois números binários
como value1
e value2
. Além disso, usando as funções integradas do Python, calcularemos a soma dos números binários.
Códigos de exemplo:
# python 3.x
value1 = "0b100"
value2 = "0b110"
sumOfBinaryNumber = bin(int(value1, 2) + int(value2, 2))
print(sumOfBinaryNumber[2:])
Resultado:
1010
Representação bit a bit em Python
Nesta técnica, primeiro inicializaremos os dois números binários como valor1 e valor 2. Além disso, usando as operações bit a bit
, manipularemos esses números de acordo com os requisitos. No código a seguir, ~
é usado para operação NOT, ^
para operação XOR, |
para operação OR e &
para operação AND.
Códigos de exemplo:
# python 3.x
value1 = int("1101", 2)
value2 = int("00100110", 2)
print("value1 & value2 =", bin(value1 & value2))
print("value1 | value2 =", bin(value1 | value2))
print("value1 ^ value2 =", bin(value1 ^ value2))
print("~value1 ^ value2 =", bin(~value1 ^ value2))
print("~value1 =", bin(~value1))
print("~value2 =", bin(~value2))
Resultado:
a & b = 0b100
a | b = 0b101111
a ^ b = 0b101011
~a ^ b = -0b101100
~a = -0b1110
~b = -0b100111
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn