[B.1] Écriture d’un entier dans une base b>=2

[[TOC]]

Compter avec ses doigts

Nos 10 doigts

Nous avons 10 doigts que nous emportons partout avec nous. Ces outils sont pratiques pour aider à compter. Nous utilisons donc une manière de compter qui utilise nos 10 doigts : la base 10.

Nos nombres s’écrivent avec 10 symboles (chiffres) : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.

Quand on dépasse 9, on utilise une nouvelle position (chiffre) pour se “rappeler” qu’on a fait un tour complet des chiffres disponibles.

Ainsi :

Avec moins ou plus de doigts

En se coupant des doigts, ou en vivant dans un monde de dessins animés / bandes dessinées, on peut imaginer compter avec un autre nombre de doigts, et donc dans une autre base.

Picsou compte en base 8

Et avec plus de doigts ? il faut plus de chiffres… avec 6 doigts à chaque main, soit 12 doigts, il faut 12 chiffres, mais attention 10 et 11 ne sont pas des chiffres, ce sont des nombres écrits avec deux chiffres ! Il faut donc inventer deux nouveaux symboles pour représenter les 10 et 11ème chiffres. Plutôt que de réinventer un symbole, on choisit souvent les lettres majuscules : A pour 10 et B pour 11 (et ainsi de suite si besoin. Pour les bases supérieures à 36 on peut utiliser les lettres minuscules aussi ou l’alphabet grec).

En s’intéressant aux 20 premiers entiers, on peut écrire le tableau suivant pour les bases 10, 8, 4, 2 et 16 :

Décimal (base 10) Octal (base 8) Quaternaire (base 4) Binaire (base 2) Hexadécimal (base 16)
0 0 0 0 0
1 1 1 1 1
2 2 2 10 2
3 3 3 11 3
4 4 10 100 4
5 5 11 101 5
6 6 12 110 6
7 7 13 111 7
8 10 20 1000 8
9 11 21 1001 9
10 12 22 1010 A
11 13 23 1011 B
12 14 30 1100 C
13 15 31 1101 D
14 16 32 1110 E
15 17 33 1111 F
16 20 100 10000 10
17 21 101 10001 11
18 22 102 10010 12
19 23 103 10011 13

Numération de position

Dans cette manière de compter, chaque position (chiffre) a une valeur qui dépend de sa position. Ce n’est pas le cas dans la numération non positionnelle comme les chiffres romains ( XIV=10+51=14XIV = 10 + 5 - 1 = 14 ).

Par exemple, en base 10, le nombre 1789 s’écrit avec 4 chiffres (positions) : 1, 7, 8 et 9. La valeur de chaque position est :

De manière générale, un nombre anan1...a2a1a0a_n a_{n-1} ... a_2 a_1 a_0 s’écrit en base b (avec b un entier supérieur ou égal à 2) :

an×10bn+an1×10bn1+...+a2×10b2+a1×10b1+a0×10b0 a_n \times 10_b^n + a_{n-1} \times 10_b^{n-1} + ... + a_2 \times 10_b^2 + a_1 \times 10_b^1 + a_0 \times 10_b^0

soit, en décimal :

an×bn+an1×bn1+...+a2×b2+a1×b1+a0×b0 a_n \times b^n + a_{n-1} \times b^{n-1} + ... + a_2 \times b^2 + a_1 \times b^1 + a_0 \times b^0

Important

De manière moins “mathématique” : chaque chiffre en position est multiplié par la base b puissance sa position (en comptant à partir de 0 pour la position la plus à droite).

Note

En base 6 (avec les chiffres 0,1,2,3,4,5), le nombre 2431 s’écrit :

2×1063+4×1062+3×1061+1×1060 2 \times 10_6^3 + 4 \times 10_6^2 + 3 \times 10_6^1 + 1 \times 10_6^0

On peut effectuer ce calcul sur notre calculatrice (donc en base 10) pour retrouver la valeur en base 10 du nombre 2431 en base 6 :

2×63+4×62+3×61+1×60 2 \times 6^3 + 4 \times 6^2 + 3 \times 6^1 + 1 \times 6^0

2×216+4×36+3×6+1×1=595 2 \times 216 + 4 \times 36 + 3 \times 6 + 1 \times 1 = 595

Note

Exercice : écrire en base 10 les nombres suivants :

  • 123 (base 6)
  • 666 (base 8)
  • 0111 (binaire)

Quand on écrit avec une base b supérieure à 10, on utilise les lettres A, B, C, D, E… pour représenter les chiffres supérieurs à 9.

Note

En base 16, BABA s’écrit :

B16×163+A16×162+B16×161+A16×160 B_{16} \times 16^3 + A_{16} \times 16^2 + B_{16} \times 16^1 + A_{16} \times 16^0

soit

11×4096+10×256+11×16+10×1=47802 11 \times 4096 + 10 \times 256 + 11 \times 16 + 10 \times 1 = 47802

Note

Écrire en base 10 les nombres suivants :

  • 2A3 (base 16)
  • FF (base 16)

Cas particulier : la base 2 (binaire)

Vocabulaire

Liste des préfixes par ordre croissant : kilo (k), méga (M), giga (G), téra (T), péta (P) et pour la culture only : exa (E), zetta (Z), yotta (Y).

Conversion binaire -> décimal

Les puissances de 2 sont à connaître par coeur au moins jusqu’à 2^12 :

Puissance Valeur décimale
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
11 2048
12 4096
13 8192
14 16384
15 32768
16 65536

La conversion d’un nombre binaire vers le décimal s’effectue assez facilement :

Note

Exemple : convertir le nombre binaire 101101 en décimal

  • on se récite les puissances de 2 : 1,2,4,8,16,32
  • on ne garde que les puissances de 2 correspondant aux positions où il y a un 1
    1,2,4,8,16,32
  • on fait la somme de ces puissances de 2 : 1 + 4 + 8 + 32 = 45
Note

Exercice : convertir les nombres binaires suivants en décimal.

  • 1101
  • 10 0101
  • 1100 0110
  • 1111 1111

Astuce : quand on a un nombre du genre 1111 1111, on peut remarquer que le nombre juste après est 1 0000 0000, qui est beaucoup plus facile à convertir en décimal (ici 256). On peut donc calculer 1111 1111 en faisant 256 - 1 = 255.

Calculs en binaire

Les tables d’addition et de multiplication en binaire sont très simples :

a b a+b
0 0 0
0 1 1
1 0 1
1 1 10
a b a×b
0 0 0
0 1 0
1 0 0
1 1 1

On peut donc faire des additions et des multiplications en binaire, de la même manière qu’en décimal, en se rappelant que 1+1=10 (retenue 1) et 1×1=1.

Exercice : effectuer les opérations suivantes en binaire, et vérifiez vos calculs en passant par le décimal.

Conversion décimal -> base 2

Important

Pour convertir un nombre décimal en binaire, il faut trouver les puissances de 2 qui, additionnées, donnent le nombre décimal.

Note

Exemple : convertir le nombre décimal 45 en binaire

  • on cherche la plus grande puissance de 2 inférieure ou égale à 45 : c’est 32 (2^5)
  • on fait 45 - 32 = 13
  • on cherche la plus grande puissance de 2 inférieure ou égale à 13 : c’est 8 (2^3)
  • on fait 13 - 8 = 5
  • on cherche la plus grande puissance de 2 inférieure ou égale à 5 : c’est 4 (2^2)
  • on fait 5 - 4 = 1
  • on cherche la plus grande puissance de 2 inférieure ou égale à 1 : c’est 1 (2^0)
  • on fait 1 - 1 = 0
  • on a trouvé 0, on s’arrête

On a donc 45 = 32 + 8 + 4 + 1 = 2^5 + 2^3 + 2^2 + 2^0 On écrit donc 45 en binaire en mettant des 1 aux positions 5, 3, 2 et 0, et des 0 aux autres positions : 101101.

Cette méthode par soustractions successives ne fonctionne que pour le binaire (car on a un seul choix pour chaque puissance de la base : elle est présente ou pas).

Méthode

Tant que le nombre n’est pas nul - on cherche la plus grande puissance de 2 inférieure ou égale au nombre - on soustrait cette puissance de 2 au nombre - on continue avec le reste

Une fois que l’on tombé sur 0, on arrête et on écrit le nombre binaire en mettant des 1 aux positions des puissances de 2 utilisées, et des 0 aux autres positions.

Note

Exercice : convertir les nombres décimaux suivants en binaire.

  • 2009
  • 1515
  • 789
  • 1984

Passages binaire <-> hexadécimal <-> octal

Hexadécimal

Le passage du binaire vers l’hexadécimal est très simple : on regroupe les bits par 4, en partant de la droite (on ajoute des 0 à gauche si besoin), puis on convertit chaque groupe de 4 bits en un chiffre hexadécimal (de 0 à F).

Note

Convertir le nombre binaire 1011 1101 0110 en hexadécimal - on regroupe par 4 bits : 1011 1101 0110 - on convertit chaque groupe en hexadécimal : B D 6 - on écrit le nombre hexadécimal : BD6

Pour passer de l’hexadécimal vers le binaire, on fait l’inverse : on convertit chaque chiffre hexadécimal en un groupe de 4 bits, puis on concatène les groupes.

Note

Convertir le nombre hexadécimal 2F3 en binaire - on convertit chaque chiffre en binaire : 2 -> 0010, F -> 1111, 3 -> 0011 - on concatène les groupes : 0010 1111 0011

Octal

C’est le même principe, mais on regroupe par 3 bits, pour obtentir des chiffres octaux (base 8, donc chiffres de 0 à 7).

Note

Convertir le nombre binaire 101111010110 en octal - on regroupe par 3 bits : 1 011 110 101 10 -> 001 011 110 101 110 - on convertit chaque groupe en octal : 1 3 6 5 6 - on écrit le nombre octal : 13656

Pour passer de l’octal vers le binaire, on fait l’inverse : on convertit chaque chiffre octal en un groupe de 3 bits, puis on concatène les groupes.

Note

Convertir le nombre octal 2753 en binaire - on convertit chaque chiffre en binaire : 2 -> 010, 7 -> 111, 5 -> 101, 3 -> 011 - on concatène les groupes : 010 111 101 011 -> 010111101011

Note

Exercice : écrire les nombres suivants en hexadécimal et en octal (utilisez le résultat de la conversion en binaire de l’exercice précédent).

  • 2009
  • 1515
  • 789
  • 1984

Passage décimal -> base b quelconque

Pour convertir un nombre décimal en une base b quelconque (supérieure ou égale à 2), on utilise la méthode des divisions successives.

Méthode

Pour convertir un nombre décimal N en base b : - on divise N par b - on note le reste r (chiffre le plus à droite du nombre en base b) - on remplace N par le quotient de la division - on recommence jusqu’à ce que le quotient soit 0 - le nombre en base b s’écrit avec les restes, en commençant par le dernier reste obtenu (chiffre le plus à gauche du nombre en base b)

Note

Exemple : convertir le nombre décimal 45 en base 3 - 45 ÷ 3 = 15 reste 0 - 15 ÷ 3 = 5 reste 0 - 5 ÷ 3 = 1 reste 2 - 1 ÷ 3 = 0 reste 1 - on s’arrête, le quotient est 0 - on écrit le nombre en base 3 avec les restes, en commençant par le dernier reste obtenu : 1200

Note

Exercice : convertir les nombres décimaux suivants en base 8.. vous pourrez vérifier vos résultats en utilisant les résultats de l’exercice précédent. - 2009 - 1515 - 789 - 1984