Convertisseur décimal en binaire
Convertissez un nombre ordinaire en suite de 1 et de 0 qu’un processeur comprend réellement.
Un processeur n’a pas de doigts. Il ne compte qu’avec deux états : courant ou pas courant, 1 ou 0. Un nombre ordinaire en décimal (base 10) doit être converti en binaire (base 2) pour que l’ordinateur le comprenne. Le nombre 156 que vous voyez à l’écran, c’est 10011100 pour la machine.
Convertir 156 en binaire, étape par étape
- Divisez 156 par 2 : quotient 78, reste 0.
- Divisez 78 par 2 : quotient 39, reste 0.
- Divisez 39 par 2 : quotient 19, reste 1.
- Divisez 19 par 2 : quotient 9, reste 1.
- Divisez 9 par 2 : quotient 4, reste 1.
- Divisez 4 par 2 : quotient 2, reste 0.
- Divisez 2 par 2 : quotient 1, reste 0.
- Divisez 1 par 2 : quotient 0, reste 1.
- Lisez les restes de bas en haut : 10011100. C’est votre réponse.
Pourquoi cette méthode des divisions successives fonctionne
Chaque division par 2 nous dit si le nombre actuel est pair (reste 0) ou impair (reste 1). Cette information devient un bit. Le reste de la première division donne le bit le plus faible (celui de droite), la dernière division donne le plus fort (celui de gauche). Ainsi, en 8 divisions, un nombre de 0 à 255 est entièrement décomposé.
C’est pour cela qu’un octet (8 bits) peut représenter exactement 256 valeurs. 2 à la puissance 8 = 256. Si vous avez besoin de plus, ajoutez un bit, et vous arrivez à 16 bits (65 536 valeurs), 32 bits (plus de 4 milliards), et ainsi de suite.
Nombres courants et leurs équivalents binaires
| Décimal | Binaire (8 bits) | Usage courant |
|---|---|---|
| 0 | 00000000 | Zéro, absence de signal |
| 1 | 00000001 | Vrai en booléen |
| 10 | 00001010 | Pas de rôle particulier |
| 127 | 01111111 | Limite du pur ASCII |
| 255 | 11111111 | Maximum d’un octet |
Pièges fréquents en conversion décimal-binaire
- Oublier de lire les restes de bas en haut : ce n’est pas l’ordre des calculs, c’est l’ordre inverse.
- Compter le nombre de bits : 156 fait 8 bits, mais 3 en fait 2 seulement (11). Ne pas compléter avec des zéros à gauche par erreur.
- Confondre division entière et division avec virgule : il faut le quotient et le reste entiers.
- S’attendre à un nombre de bits fixe : pas tous les nombres n’occupent 8 bits, certains en occupent 7 ou 9.
- Mélanger cette technique avec la méthode des puissances de 2 (addition inverse) : les deux marchent, mais pas en même temps.
Questions sur la conversion décimal-binaire
Comment représenter les nombres négatifs en binaire ?
Plusieurs méthodes existent. Le complément à 2 est la plus courante : on inverse tous les bits, puis on ajoute 1. Par exemple, −5 sur 8 bits est 11111011. D’autres systèmes ajoutent un bit de signe en avant, mais le complément à 2 est plus efficace en arithmétique.
Y a-t-il une limite au nombre de bits qu’on peut utiliser ?
Non. Mathématiquement, vous pouvez convertir n’importe quel nombre en binaire. Un nombre énorme comme 1 000 000 fera 20 bits. Mais sur une machine réelle, la mémoire a une limite.
Pourquoi 2^8 = 256 ? Pourquoi pas 255 ?
Parce qu’on commence à compter de 0. Sur 8 bits, on peut représenter 0, 1, 2, … 255. C’est 256 valeurs au total (de 0 à 255 inclus), mais le maximum est 255.
Comment le processeur utilise ce binaire ?
Les instructions du processeur manipulent des octets. Un octet binaire peut signifier une couleur (0 à 255), un code de caractère, ou une partie d’une adresse. Le contexte donne le sens.
Est-ce plus rapide de calculer en binaire qu’en décimal ?
Pour les humains, non. Pour le processeur, oui. Il ne sait faire que de l’arithmétique binaire. La conversion est gratuite : c’est simplement l’interprétation des bits.