Les ordinateurs manipulent les données dans des circuits électriques qui peuvent avoir deux états possibles : présence ou absence de courant. La présence de courant est symbolisée par le chiffre 1 et l'absence de courant par le chiffre 0.
Du coup toute information est traitée et représentée sous forme d'une suite de chiffres binaires : des 0 et des 1. Chaque chiffre binaire est un bit (binary digit).
D'un point de vue numération, une suite de bits représente un nombre écrit en base 2.
En écriture décimale 10 symboles sont utilisés pour écrire les nombres entiers : les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9 et l'écriture utilise une numération de position, c'est à dire que chaque chiffre a une valeur différente selon sa position dans le nombre, par exemple pour un nombre de 3 chiffres voici ce que cela donne :
centaines | dizaines | unités |
$10^2=100$ | $10^1=10$ | $10^0=1$ |
ainsi : $327=3\times 100+2\times 10+7\times 1$.
Pour des nombres écrits en base 2, le système fonctionne de la même façon avec seulement les deux symboles 0 et 1 pour écrire les nombres :
Position du bit | ... | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
Valeur en base 10 | ... | $2^7=128$ | $2^6=64$ | $2^5=32$ | $2^4=16$ | $2^3=8$ | $2^2=4$ | $2^1=2$ | $2^0=1$ |
Pour trouver la valeur décimale du nombre binaire $110011$ on peut utiliser un tableau comme ci-dessous :
32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 0 | 1 | 1 |
donc $110011_{(2)}$ vaut $1\times 32+1\times 16+0\times 8+0\times 4+1\times 2+1=51$ en décimal.
Convertir en décimal les nombres suivants en vous aidant d'un tableau comme dans l'exemple ci-dessus.
a) 10010
16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 1 | 0 |
$10010_{(2)}=16+2=18$
b) 110101
32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 0 | 1 | 0 | 1 |
$110101_{(2)}=32+16+4+1=53$
c) 10101010
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
$10101010_{(2)}=128+32+8+2=170$
d) 11111111
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
$11111111_{(2)}=128+64+32+16+8+4+2+1=255$
Dans la mémoire des ordinateurs les bits sont regroupés par groupes de 8, ce qui donne un octet. Ainsi un octet peut représenter un nombre entier compris entre 0 et 255.
Les premiers microprocesseurs dans les années 1970 étaient capable de traiter simultanément des données codées sur 8 bits. Les microprocesseurs actuels travaillent sur 64 bits. A noter que de nombreux processeurs destinés aux systèmes embarqués utilisent encore aujourd'hui une architecture sur 8 bits, comme par exemple l'Atmel AVR de la plateforme Arduino.
Pour terminer l'octet sert d'unité de base pour indiquer la taille de la mémoire d'un ordinateur, d'un disque dur ou d'un fichier. A cet effet les multiples de l'octet sont utilisés :
le kilo-octet (ko) : 1000 octets
le mega-octet (Mo) : 1000 kilo-octets soit un million d'octets
le giga-octet (Go) : 1000 mega-octets soit un milliard d'octets
Pour plus d'informations : L'article sur l'octet de wikipédia.
Pour donner un ordre d'idée, un texte simple de 2000 caractères occupe 2 ko de mémoire, une image non compressée en couleurs de 8 millions de pixels occupe 24 Mo, un morceau de musique en qualité CD non compressé de 5 minutes occupe à peu près 45 Mo, enfin un film de 120 minutes en qualité DVD occupe environ 4,7 Go.
En informatique, un mot est l’unité de base manipulée par un microprocesseur. La taille d’un mot s’exprime en bits ou en octets, et est souvent utilisée pour classer les microprocesseurs (32 bits, 64 bits, etc.). Toutes choses égales par ailleurs, un microprocesseur est d’autant plus rapide que ses mots sont longs, car les données qu'il traite à chaque cycle sont plus importantes. Sur les microprocesseurs qui peuvent manipuler différentes tailles de données, la taille des mots est choisie arbitrairement, dans le but d’avoir une convention de nommage (en particulier, les instructions dont le mnémonique ne contient pas d’indication explicite de taille s’appliquent à des mots). On prend généralement la taille des principaux registres de données, ou la taille du bus de données.
Les ordinateurs modernes ou processeurs modernes utilisent généralement des données de 8, 16, 32 ou 64 bits, bien que d'autres tailles soient possibles. La nomenclature actuelle est comme suit :
Test de connaissances : Quiz sur la numération binaire
A voir aussi : Conversion d'un entier en binaire