Aller au contenu

Exercices Binaire et Python

Exercice 1⚓︎

Pour comprendre

Nous allons manipuler des nombres en base 10, qui seront de type int et des nombres écrits en binaire, qui seront de type str.

Pour comprendre comment convertir en décimal un nombre écrit en binaire regardons cet exemple :

entier_binaire = "1011"

On va parcourir la chaîne de caractères "1011". Chaque caractère sera converti en int.
Il faudra ensuite faire la somme comme vu dans le cours.

Tester ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Exercice 2⚓︎

A vous de jouer

Le code caché affecte une chaîne de caractères correspondant à un nombre en binaire à entier_binaire

Le code que vous devez complétez doit afficher le nombre décimal correspondant à entier_binaire

👉 len("mot") donne le nombre de caractères de la chaîne de caractères mot

Vous pouvez vous aider des explications de l'exercice 1.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier

Solution
🐍 Script Python
p = len(entier_binaire) - 1
somme = 0
for caractere in entier_binaire :
    chiffre = int(caractere)
    somme = somme + chiffre * 2**p
    p = p - 1
print("Le nombre ", entier_binaire," en binaire, vaut ", somme, "en décimal")