[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 :
0,1,2,3,4,5,6,7,8,9, tour complet10,11,12, …,19, tour complet suivant20,21, …,29, …, tour complet suivant- …
- …,
97,98,99, tour complet suivant 100,101, …
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.
- Si on n’avait que 4 doigts à chaque main, on compterait en base 8
(en octal) :
0,1,2,3,4,5,6,7, tour complet10,11,…,77, tour complet suivant100,… - Si on n’avait que 3 doigts à chaque main, on compterait en base 6 (en sénaire)
-
0,1,2,3,4,5, tour complet10,11,…,55, tour complet suivant100,…
- Si on n’avait que 2 doigts à chaque main, on compterait en base 4
(en quaternaire) :
0,1,2,3, tour complet10,11,…,33, tour complet suivant100,… - Si on n’avait qu’un doigt à chaque main, on compterait en base 2 (en binaire)
-
0,1, tour complet10,11,…111, tour complet suivant1000,…
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).
- Si on avait 6 doigts à chaque main, on compterait en base 12 (en
duodécimal) :
0,1,2,3,4,5,6,7,8,9,A,B, tour complet10,11,…,BB, tour complet suivant100,… - Si on avait 8 doigts à chaque main, on compterait en base 16 (en hexadécimal)
-
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, tour complet10,11,…,FF, tour complet suivant100,…
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 ( ).
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 :
1millier :7centaines :8dizaines :9unités :
De manière générale, un nombre
s’écrit en base b (avec b un entier supérieur
ou égal à 2) :
soit, en décimal :
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).
En base 6 (avec les chiffres 0,1,2,3,4,5), le nombre
2431 s’écrit :
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 :
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.
En base 16, BABA s’écrit :
soit
Écrire en base 10 les nombres suivants :
2A3(base 16)FF(base 16)
Cas particulier : la base 2 (binaire)
Vocabulaire
- un bit (contraction de “binary digit”) est un chiffre binaire (0 ou 1), abbréviation “b”
- un octet est un groupe de 8 bits (en anglais “byte”), abbréviation “o” en français, “B” en anglais.
- un kilo-octet (Ko) est 1024 octets (2^10 = 1024), et non 1000 comme dans le système métrique,
- un méga-octet (Mo) est 1024 kilo-octet, etc..
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 :
- en partant de la droite du nombre binaire, on se récite les puissances de 2 (1,2,4,8,16,…)
- on ne garde que les puissances de 2 correspondant aux positions où il y a un 1
- on fait la somme de ces puissances de 2
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
Exercice : convertir les nombres binaires suivants en décimal.
110110 01011100 01101111 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.
1011 0100 + 1011 11011011 x 110
Conversion décimal -> base 2
Pour convertir un nombre décimal en binaire, il faut trouver les puissances de 2 qui, additionnées, donnent le nombre décimal.
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).
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.
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).
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.
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).
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.
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
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.
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)
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
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