210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Méthode des divisions successives par deux :
Méthode plus intuitive :
Base 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Base 16 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Base 2 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Pour convertir des entiers naturels de la représentation binaire à la représentation hexadécimale : Il suffit de regrouper les bits par quatre et de leur associer leur chiffre hexadécimal.
Exemple : 0110 1000 0010 1101(2) =
682D(16)
Décimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... |
Binaire | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | ... |
Dans une addition avec des nombres binaires, il peut aussi y avoir des retenues, comme en décimal. En base 10, on ne peut pas dépasser le chiffre 9 et les retenues commencent donc à partir de 9. En base 2, on ne peut pas dépasser le chiffre 1 et les retenues commencent donc à partir du chiffre 1.
Exemple :
Un ensemble de 8 bits forme un octet (appelé Byte en anglais à ne pas confondre avec un bit !).
1 octet = 8 bits
Pour coder les entiers négatifs, il faut coder le signe. Dans la représentation en binaire signé sur 8 bits, le bit de poids le plus fort sert à coder le signe. 1 codant pour un entier négatif et 0 pour un entier positif.
Pour conserver la propriété d'addition sur les entiers relatifs en binaire, une autre méthode de représentation existe : le complément à 2.
Pour obtenir le complément à 2 d'un nombre :
Le bits de poids le plus fort donne l'information du signe comme en binaire signé : 1 pour – et 0 pour +.
0,5 | 0,25 | 0,125 | 0,0625 | 0,03125 | 0,015625 | 0,0078125 | 0,00390625 |
Cette méthode de codage à virgule fixe reprend le principe du binaire signé :
Pour un codage sur 1 octet (8 bits) : 1 bit de signe / 3 bits de partie entière / 4 bits de partie fractionnaire
Pour un codage sur 2 octets (16 bits) : 1 bit de signe / 7 bits de partie entière / 8 bits de partie fractionnaire
Exemple :
Pour un codage sur 16 bits à virgule fixe : +10,
25(10) = 0000 1010,
0100 0000(2fix)
Pour la partie entière : 1 × 23 + 0 × 22 + 1 × 21 + 0 × 20 = 8 + 2 = 10
Pour la partie fractionnaire : 0 × 2−1 + 1 × 2−2 = 0 × 0,5 + 1 × 0,25 = 0,25
Pour convertir un nombre fractionnaire en binaire, il faut réaliser des multiplications successives par deux, des parties fractionnaires, en gardant la partie entière des résultats. Dans la plupart des cas, la méthode entraîne une boucle : le résultat sera une suite se répétant à l'infini. Ainsi, la représentation sur un nombre fini de bits introduit obligatoirement une approximation.
Exemple :
Caractère ASCII (Langage humain) | Code ASCII décimal | Mot binaire de 7 bits (Langage machine) |
---|---|---|
a | 97 | 110 0001 |
? | 63 | 011 1111 |
.txt
(clic droit / nouveau / document texte) et y écrire la lettre «a». Enregistrer-le (enregistrer sous / format ANSI/ASCII) et déterminer sa taille c'est-à-dire le nombre de bits ou d'octets nécessaires pour le coder (clic-doit / propriétés). Comment justifier son poids ?
.odt
) ou OnlyOffice (en .docx
). Que constate-t-on ? .txt
avec LibreOffice. Inversement essayer d'ouvrir le fichier .docx
ou .odt
avec le bloc-note. Que constate-t-on ?