Como converter números binários para decimais
Converter números binários para decimais é mais simples do que parece.
Digamos que tenhamos o número 1001101
.
Primeiro, precisamos saber o número de caracteres existente. Nesse caso, 7
.
O primeiro elemento tem peso 7 - 1
, o segundo elemento 7 - 2
e assim até o último elemento, que tem peso 0
.
Para ficar mais visual, eis o exemplo:
1 0 0 1 1 0 1 (Elementos)
6 5 4 3 2 1 0 (Pesos)
Para fazer o cálculo do binário, usaremos só os uns (1).
Se o elemento for 1, nós guardamos o valor de 2 elevado ao peso do número.
No caso do exemplo, os uns e seus pesos são:
- (1, 6)
- (1, 3)
- (1, 2)
- (1, 0)
Portanto, o binário seria: 2⁶ + 2³ + 2² + 2⁰, que é igual a 77
.
Segue abaixo a representação em forma de algoritmo:
def binary_to_decimal(binary: str):
binary = list(binary)
value = 0
for i in range(len(binary)):
last = binary.pop()
if last == "1":
value += pow(2, i)
return value