Mathématiques pour l'informatique
Une fiche par chapitre : l’essentiel, les définitions, les méthodes et les pièges. La fiche du chapitre offert est en accès libre.
Compter en binaire et en hexadécimal
L’essentiel
- Numération de position : en base b (b ≥ 2), b
chiffres de 0 à b − 1 ; poids des positions b0 = 1,
b1, b2… et, après la virgule, b−1,
b−2… L’écriture d’un entier dans une base est
unique. Toujours indiquer la base :
1011112 = 2F16 = 47 (
0b101111,0x2F). - Base 2 : poids 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1 024 ; 216 = 65 536. Un binaire est pair si son dernier bit vaut 0.
- Base 16 : chiffres 0 à 9 puis A à F (10 à 15) ; poids 1, 16, 256, 4 096. Comme 16 = 24, un chiffre hexadécimal = 4 bits ; un octet = 2 chiffres hexadécimaux (00 à FF).
- Avec n bits : 2n valeurs, de 0 à 2n − 1.
- Virgule : écriture binaire finie seulement pour une fraction de dénominateur puissance de 2 (0,375 ; 0,8125) ; 0,1 a une écriture binaire infinie, la machine en garde une valeur approchée.
- Négatifs : signe moins devant l’écriture, dans toute base (−18 = −100102 = −1216) ; le codage machine des négatifs n’est pas au programme.
- Codes : IPv4 = 4 octets de 0 à 255 (décimal pointé)
; MAC = 48 bits, IPv6 = 128 bits (hexadécimal) ; VLAN sur 12 bits ;
couleur
#RRVVBB; ASCII A = 65, a = 97 ; 1 ko = 103 o, 1 Kio = 210 o.
Les définitions clés
- Bit / octet : plus petite unité d’information, 0 ou 1 / groupe de 8 bits.
- Poids d’une position : puissance de la base attachée à la position (1 pour la position 0).
- Écriture en base b : N = an × bn + … + a1 × b1 + a0 × b0, chiffres ai de 0 à b − 1, premier chiffre non nul.
Formules et méthodes
Base 2 ou 16 → base 10 : somme des chiffres × poids. 110101102 = 128 + 64 + 16 + 4 + 2 = 214 ; 7EA16 = 7 × 256 + 14 × 16 + 10 = 2 026.
Base 10 → base 2 ou 16 (divisions successives) :
- Diviser par 2 (ou 16) ; noter quotient et reste.
- Recommencer avec le quotient jusqu’à un quotient nul.
- Lire les restes de bas en haut (10 à 15 → A à F).
- Contrôler par la conversion inverse et la parité.
Autre méthode en base 2 : soustraire les puissances de 2 de la plus grande à 20, en écrivant 1 ou 0 sous chaque poids.
Binaire ↔︎ hexadécimal : groupes de 4 bits à partir de la virgule, complétés par des 0 à l’extérieur ; chaque chiffre hexadécimal redonne 4 bits (5 → 0101). 1011100102 = 0001 0111 0010 = 17216.
Partie fractionnaire → base 2 (ou 16) : multiplier par 2 (ou 16) ; la partie entière du produit est le chiffre suivant ; recommencer avec la partie fractionnaire ; lire de haut en bas (0,8125 = 0,11012).
Nombre de bits pour N valeurs : plus petite puissance 2n ≥ N ; 28 = 256 < 370 ≤ 512 = 29 : 9 bits pour 370 valeurs.
Les 3 pièges à éviter
- Lire les restes de haut en bas : le premier reste est le chiffre de droite.
- Oublier des 0 : sous une puissance « sautée », en tête d’un groupe de 4 bits, dans un octet IPv4 (1 → 00000001).
- Confondre nombre de valeurs et plus grande valeur : 8 bits donnent 256 valeurs, de 0 à 255.