Guide du système binaire
Binary Number System
The binary system uses only two digits: 0 and 1. This is the basic language of computers, where 0 means no electricity (off) and 1 means electricity (on). Binary numbers are longer than decimal, but easier to implement in digital electronics. A byte is 8 bits (e.g., 10101010₂ = 170₁₀).
Conversion en binaire
Pour convertir du décimal en binaire, divisez par 2 et notez les restes. Exemple : 42 ÷ 2 = 21 reste 0, 21 ÷ 2 = 10 reste 1, 10 ÷ 2 = 5 reste 0, 5 ÷ 2 = 2 reste 1, 2 ÷ 2 = 1 reste 0, 1 ÷ 2 = 0 reste 1. En lisant de bas en haut : 101010₂ = 42₁₀.
Applications en programmation
Le binaire sert aux masques de bits, aux permissions de fichiers (ex. chmod 755 = 111101101), aux adresses IPv4, aux couleurs RVB (rouge #FF0000 = 11111111 00000000 00000000). La RAM est adressée par bits. Booléen : vrai=1, faux=0.
IPv6 n'est pas quatre fois plus grand qu'IPv4. Il est 2⁹⁶ fois plus grand
Les nombres de bits sont des exposants, et les exposants déjouent l'intuition. Une adresse IPv6 compte quatre fois plus de bits qu'une adresse IPv4, ce qui suggère une capacité quadruplée. Elle est en réalité environ 79 quadrilliards de fois plus grande, car chaque bit supplémentaire double la plage.
Comment ça marche
- Convertit entre binaire, décimal, hexadécimal et octal.
- Indique combien de valeurs distinctes un nombre donné de bits peut représenter.
- Rend le doublement explicite : c'est la part qui résiste le plus à l'estimation.
valeurs = 2^bits 8 bits → 256 un octet, 0–255 16 bits → 65 536 un numéro de port 32 bits → 4 294 967 296 une adresse IPv4 64 bits → 1,8 × 10¹⁹ horodatages en nanosecondes un bit de plus double toujours la plage
Exemple chiffré
Comparer des espaces d'adressage et voir d'où viennent les limites familières.
- IPv4 fait 32 bits : 2³² = 4,29 milliards d'adresses
- IPv6 fait 128 bits : 2¹²⁸ ≈ 3,4 × 10³⁸
- le rapport vaut 2¹²⁸ ÷ 2³² = 2⁹⁶
- 2⁹⁶ ≈ 7,9 × 10²⁸ — et non 4
Quatre fois plus de bits, c'est 2⁹⁶ fois plus d'adresses. La même arithmétique explique l'omniprésence de 255 : huit bits donnent 256 valeurs, numérotées de 0 à 255.
Lire le résultat
- L'hexadécimal existe parce qu'il est du binaire compact. Un chiffre hexadécimal vaut exactement quatre bits, donc deux chiffres font un octet — d'où l'écriture des couleurs en #RRGGBB et le fait que 0xFF vaille 255, soit 11111111.
- L'octal vaut trois bits par chiffre, d'où les groupes de trois des permissions Unix : 755, ce sont trois groupes de drapeaux lecture, écriture et exécution compactés en un chiffre chacun.
- L'épuisement d'IPv4 était prévisible à partir du seul exposant. 32 bits plafonnent l'internet à 4,29 milliards d'adresses quelle que soit l'allocation, et ce plafond était visible des décennies avant d'être atteint.
- Les entiers signés consacrent un bit au signe, ce qui divise par deux la plage positive. Une valeur signée sur 32 bits s'arrête à 2 147 483 647 et non 4 294 967 295 — source d'un très grand nombre de bogues de dépassement.
Questions fréquentes
- Pourquoi un octet va-t-il de 0 à 255 et non de 1 à 256 ?
- Parce que le comptage part de zéro. Huit bits donnent 2⁸ = 256 motifs distincts ; le premier représente zéro, donc le dernier représente 255. Le compte est 256, le maximum 255.
- Pourquoi l'hexadécimal plutôt que le binaire directement ?
- De la densité sans perte. Chaque chiffre hexadécimal correspond exactement à quatre bits : un octet fait toujours deux caractères et la conversion est mécanique. Écrire 11111111 au lieu de FF est quatre fois plus long et bien plus facile à mal compter.