Menu
CoddyTech

Binary to Decimal

Você recebe uma string s que representa um número não negativo em binário, usando apenas os caracteres 0 e 1. Retorne o valor desse número como um inteiro comum. A string não tem zeros à esquerda, exceto no caso do número zero, que é representado pelo único caractere 0.

Função

toDecimal(s: string) → integer
sstring
os dígitos binários do número
Retornainteger
o valor de s como um número inteiro

Restrições

  • 1 ≤ s.length ≤ 31
  • s contém apenas 0 e 1.
  • s começa com 1, a menos que s seja "0".
  • Leia os dígitos por conta própria em vez de chamar uma conversão de base integrada.

Exemplos

Entrada
s = "1101"
Saída
13
Explicação
Lendo da direita para a esquerda, as posições valem 1, 2, 4 e 8. 1101 tem 1s nas posições correspondentes a 8, 4 e 1, e 8 + 4 + 1 = 13.

lock icon+16 testes ocultos ao enviar

challenge icon

Para ir além

Você consegue ler um número escrito em qualquer base de 2 a 16 com o mesmo loop, em que as letras a a f representam os dígitos de 10 a 15?

Redefinir código
def toDecimal(s):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

s = "1101"

Esperado

13