Vous êtes sur la page 1sur 3

Exercices divers sur le codage binaire :

Exercice 1:

Tout nombre entier naturel décimal (base = 10) peut s’écrire comme
combinaison linéaire de puissance de 10. Par exemple:

123 = 1 x 10**2 + 2 x 10**1 + 3 x 10**0

En mathématiques, en général on écrit :

avec n>=0, p>= 1, d>= 0.

À l’aide de ces opérations, il est possible d’obtenir les chiffres d’un


entier naturel à l’aide de l’algorithme suivant.

123456

Choisir un entier naturel n.

Initialiser reste à n.

Tant que reste n'est pas nul, répéter les instructions suivantes.

Calculer reste% 10 et stocker le résultat.

Remplacer reste par reste// 10

Renvoyer les chiffres stockés

Les chiffres sont les entiers stockés. En Python, cet algorithme peut
être traduit par le code suivant.

# entier à décomposer

n = 123

# initialisation

reste = n
chiffres = []

# détermination des chiffres

while reste != 0:

chiffres.append(reste% 10)

reste = reste// 10

chiffres.reverse()

Proposez un code en Python, partant d’une liste de chiffres


représentée sous forme d’un tableau, permet de
reconstruire un entier.

Exemple : tab_chiffres = [2, 3, 4], vôtre code devrait reconstituer le


nombre 234 en base 10.

Exercice 2:

Convertir un entier du système binaire au système décimal et


réciproquement peut aisément se faire.

1111011(2) ⇔ 1 x 2**6 + 1 x 2**5 + 1 x 2**4 + 1 x 2**3 + 0 x 2**2 + 1 x


2**1 + 1 x 2**0 = 123.

En utilisant la méthode (algorithme) vue en cours

décimal —> binaire .

Complétez la fonction du code en Python dec_to_bin qui prend en


paramètre un nombre entier n et renvoie sa représentation
binaire.

def dec_to_bin(n):

chaine_bin = ''

nb = n

while ……………:

r = nb …….. 2

nb = nb ……2

chaine_bin = str(r) + ………………..

return chaine_bin
Exo 1

tab_chiffres=[2,3,4]
entier=0
for chiffre in tab_chiffre:
entier=entier*10+chiffre
print(entier)

Vous aimerez peut-être aussi