Nous avons déjà abordé la représentation binaire, mais, je pense que pour certains, une piqure de rappel est nécessaire :
Habituellement, nous représentons les valeurs entières dans le système décimal, on dit aussi en base 10. Nous utilisons les dix chiffres de 0 à 9. La position des chiffres définit la valeur associée à ce chiffre. Par exemple, 542 est compris comme
Les différents chiffres correspondent aux puissances successives de 10 :
L'information numérique, qu'il s'agisse de valeurs entières, de textes, d'images, ou de sons est en fin de compte représentée par des suites de 0 et de 1. On parle de bit : un bit peut prendre deux valeurs, 0 ou 1.
Le système binaire permet d'écrire les valeurs entières en n'utilisant que les deux chiffres 0 et 1. On utilise alors la base 2.
De même que pour la base 10, les positions des chiffres sont associées aux puissances successives de 2
Ainsi la valeur entière qui correspond à la représentation binaire 101010 est
Il nous faut pouvoir indiquer que 101010 est une représentation binaire et non une représentation décimale, qui serait comprise cent un mille dix (ou encore une représentation dans une autre base...).
On notera par exemple 0b101010 ou (101010)2, ou encore 101010.
On distingue donc les valeurs entières (les entiers) et leur représentation.
À une valeur entière donnée est associée une représentation décimale, mais aussi une représentation binaire.
Donnez les valeurs entières représentées par (0100)2, (10101)2, (101)2, (0101)2 et (00101)2.
Comparez les valeurs entières représentées par (11)2 et (100)2, (111)2 et (1000)2.
Comment reconnaitre très rapidement un nombre impaire en représentation binaire ? Et un nombre paire ?
On a l'habitude de regrouper les bits par groupe de 8 bits : 1 octet. Comme les processeurs, n'opèrent généralement pas sur chaque bit individuellement, et que depuis les année 1970, le matèriel traite les bits huit par huit, on exprime les capacités de mémorisation des mémoire informatique (méméoire vive, disque dur, DVD...) en octet.
Les préfixes kilo, méga, giga, téra, etc., correspondent aux mêmes multiplicateurs que dans tous les autres domaines : des puissances de 10. Appliqué à l'informatique, cela donne :
1 kilooctet (ko) | = 103 octets | = 1 000 octets | |
1 mégaoctet (Mo) | = 106 octets | = 1 000 ko | = 1 000 000 d'octets |
1 gigaoctet (Go) | = 109 octets | = 1 000 Mo | = 1 000 000 000 d'octets |
1 téraoctet (To) | = 1012 octets | = 1 000 Go | = 1 000 000 000 000 d'octets |
1 pétaoctet (Po) | = 1015 octets | = 1 000 To | = 1 000 000 000 000 000 d'octets |
La normalisation des préfixes binaires de 1998 par la Commission électrotechnique internationale spécifie les préfixes suivants pour représenter les puissances de 2 :
et ainsi de suite.
Concernant les multiples de l'octet, cela donne :
1 kibioctet (Kio) | = 210 octets | = 1 024 octets | |
1 mébioctet (Mio) | = 220 octets | = 1 024 Kio | = 1 048 576 octets |
1 gibioctet (Gio) | = 230 octets | = 1 024 Mio | = 1 073 741 824 octets |
1 tébioctet (Tio) | = 240 octets | = 1 024 Gio | = 1 099 511 627 776 octets |
1 pébioctet (Pio) | = 250 octets | = 1 024 Tio | = 1 125 899 906 842 624 octets |
1 exbioctet (Eio) | = 260 octets | = 1 024 Pio | = 1 152 921 504 606 846 976 octets |
1 zébioctet (Zio) | = 270 octets | = 1 024 Eio | = 1 180 591 620 717 411 303 424 octets |
1 yobioctet (Yio) | = 280 octets | = 1 024 Zio | = 1 208 925 819 614 629 174 706 176 octets |
L’usage de cette norme ne s’est pas encore généralisé. Malgré tout, les dernières versions de certains logiciels, voire de systèmes d’exploitations (comme Ubuntu à partir de la version 10.10 et Mac OS X à partir de Snow Leopard) , en tiennent maintenant compte. Par contre, d'autres comme Microsoft Windows continuent d'utiliser des valeurs binaires avec des préfixes SI. De même les fabriquants de disques durs continuent de donner les capacités, en gigaoctet, téraoctet... au lieu de les donner en gibioctet, tébioctet... (vous pourrez lire l'article de wikipédia)
L’hexadécimal correspond à la base seize.
Pour la base dix, nous avons besoin de dix chiffres différents : 0, 1, 2, …9.
Pour la base deux, nous avons besoin de deux chiffres différents : 0 et 1.
Pour la base seize, nous avons besoin de seize chiffres différents : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
La base seize est très pratique pour condenser l’écriture des nombres en base deux ! Par exemple, le nombre 135 s’écrit en base deux : (10000111)2 , on regroupe les chiffres par 4 en partant de la droite, et on donne la représentation en base seize de chaque nombre ainsi obtenu. Soit (10000111)2 = (1000 0111)2 = (8 7)16
Suite: Codage des caractères