Lecture binaire

Écrire un programme qui lit un nombre positif ou nul en base binaire et qui affiche sa valeur en base 10.

Votre programme doit lire les caractères du nombre un par un, car il peut y avoir jusqu'à 26 chiffres binaires.

Exemple

entrée :

101111

sortie :

47

Solution

def main():
    binaire = input()
    n = 0
    for bit in binaire:
        n <<= 1
        if bit == '1':
            n += 1
    print(n)
main()

Commentaire

def main():
    binaire = input()
    n = 0
    puissance = 1
    for bit in binaire[::-1]:
        if bit == '1':
            n += puissance
        puissance <<= 1
    print(n)
main()
binaire = input()
n = int(binaire, 2)