Aller au contenu principal

Sciences de l’ingénieur · Première · 7 min de lecture

Binaire, hexadécimal, ASCII : coder l’information

Changements de base binaire ↔ décimal (première) ; écriture hexadécimale (chiffres 0 à 9 puis A à F, un chiffre hexadécimal pour quatre bits) et conversion hexadécimal ↔ décimal ↔ binaire (terminale SIN) ; code ASCII d’un caractère ; identifier le type de codage d’une donnée issue d’un capteur ou d’une trame ; effets de la taille des données (dépassement de la plus grande valeur représentable).

Chapitre du programme : Approche fonctionnelle et structurelle des produits

Bloc 1 sur 7 · Comprendre

Comprendre : une valeur, plusieurs écritures

Dans un produit, un capteur, un convertisseur ou une trame transmettent des nombres. Le même nombre peut s’écrire dans plusieurs bases :

  • en décimal (base 10), avec les chiffres 0 à 9 : c’est l’écriture habituelle ;
  • en binaire (base 2), avec les chiffres 0 et 1 : c’est l’écriture des circuits numériques ; chaque chiffre est un bit ;
  • en hexadécimal (base 16), avec les chiffres 0 à 9 puis A, B, C, D, E, F pour les valeurs 10 à 15 : c’est une écriture compacte du binaire.

Règle de numération. Dans une base bb, chaque chiffre a un poids qui dépend de son rang, compté à partir de la droite : b0=1b^{0} = 1, puis b1b^{1}, b2b^{2}… La valeur du nombre est la somme des chiffres multipliés par leurs poids.

  • En binaire, les poids sont 1, 2, 4, 8, 16, 32… : chaque rang vers la gauche double le poids.
  • En hexadécimal, les poids sont 1, 16, 256, 4 096…

Combien de valeurs sur n bits ? Avec nn bits, on écrit 2n2^{n} valeurs différentes : les entiers de 0 à 2n−12^{n} - 1. Sur 8 bits (un octet) : de 0 à 255.

Bloc 2 sur 7 · Approfondir

Approfondir : changer de base

Du binaire au décimal. On additionne les poids des bits qui valent 1. Un mot long s’écrit souvent par groupes de quatre bits (des quartets) pour être lisible.

Du décimal au binaire. On divise le nombre par 2, puis le quotient par 2, et ainsi de suite jusqu’à un quotient nul ; les restes, lus du dernier au premier, donnent l’écriture binaire.

Entre binaire et hexadécimal. Un chiffre hexadécimal correspond exactement à quatre bits, car 16=2416 = 2^{4}. On groupe les bits par quatre en partant de la droite, puis on remplace chaque quartet par son chiffre hexadécimal (0000 → 0, …, 1001 → 9, 1010 → A, …, 1111 → F).

De l’hexadécimal au décimal. On remplace chaque lettre par sa valeur (A = 10, …, F = 15), puis on multiplie chaque chiffre par le poids de son rang (1, 16, 256…). Attention : un code hexadécimal ne se lit jamais comme un nombre décimal ; 20 en hexadécimal vaut 2 × 16 = 32.

ASCII. Pour transmettre du texte, chaque caractère reçoit un numéro : son code ASCII. La lettre A majuscule a le code 65, soit 41 en hexadécimal. Identifier le type de codage d’une donnée, c’est savoir si une suite de bits représente un nombre, un caractère, ou autre chose.

Taille des données. Une variable de nn bits ne peut pas contenir une valeur supérieure à 2n−12^{n} - 1. Sur 8 bits, 255 + 1 = 256 s’écrit 1 0000 0000 : il faudrait un neuvième bit ; si l’on ne garde que les 8 bits de droite, on obtient 0. C’est un dépassement. Pour l’éviter, on choisit le nombre de bits d’après la plus grande valeur à coder.

Bloc 3 sur 7 · Exemple

Exemple guidé : un code de 12 bits sous trois formes

1. Binaire → décimal. Un convertisseur de 12 bits transmet le mot 0000 1011 0110. De droite à gauche, les poids vont de 20=12^{0} = 1 à 211=2 0482^{11} = 2\,048. Les bits à 1 ont pour poids 128, 32, 16, 4 et 2 :

128+32+16+4+2=182.128 + 32 + 16 + 4 + 2 = 182.

2. Binaire → hexadécimal. Les quartets 0000, 1011, 0110 valent 0, 11 et 6, soit 0B6, c’est-à-dire B6 en hexadécimal. Contrôle : 11×16+6=176+6=18211 \times 16 + 6 = 176 + 6 = 182.

3. Hexadécimal → décimal. Une trame contient le code FC8. F vaut 15 et C vaut 12 :

15×256+12×16+8×1=3 840+192+8=4 040.15 \times 256 + 12 \times 16 + 8 \times 1 = 3\,840 + 192 + 8 = 4\,040.

4. Décimal → binaire. Pour 45 : 45 = 2 × 22 + 1 ; 22 = 2 × 11 + 0 ; 11 = 2 × 5 + 1 ; 5 = 2 × 2 + 1 ; 2 = 2 × 1 + 0 ; 1 = 2 × 0 + 1. Restes lus de bas en haut : 101101. Contrôle : 32 + 8 + 4 + 1 = 45.

5. Nombre de bits nécessaires. Un compteur d’impulsions produit des entiers de 0 à 100 000. Sur 16 bits, on va jusqu’à 216−1=65 5352^{16} - 1 = 65\,535 : trop peu. Sur 17 bits, jusqu’à 217−1=131 0712^{17} - 1 = 131\,071 : cela suffit. Il faut 17 bits.

Bloc 4 sur 7 · Visualiser

Visualiser : quartets et chiffres hexadécimaux

Tableau : Décimal, Binaire (4 bits), Hexadécimal
DécimalBinaire (4 bits)Hexadécimal
000000
501015
910019
101010A
111011B
121100C
131101D
141110E
151111F

Poids des rangs, de droite à gauche :

Tableau : Base, rang 0, rang 1, rang 2, rang 3
Baserang 0rang 1rang 2rang 3
21248
161162564 096

Ce qu’il faut lire : un quartet couvre exactement les 16 valeurs d’un chiffre hexadécimal ; c’est pour cela qu’on passe du binaire à l’hexadécimal quartet par quartet, sans calcul.

Continuez sur votre lancée

Vous avez découvert l’essentiel et un exemple. Retrouvez la suite du cours et les points à retenir, puis passez à l’entraînement guidé dans votre compte.

  • Les formules et les repères à retenir
  • Les erreurs fréquentes expliquées
  • Un exercice avec des aides et sa correction

L’accès gratuit comprend les cours et exercices de votre niveau choisi.

Sources

  • BO spécial n°1 du 22 janvier 2019 — arrêté du 17 janvier 2019 (NOR MENE1901591A), annexe 1 « Programme d’innovation technologique et d’ingénierie et développement durable de première et d’ingénierie, innovation et développement durable de terminale STI2D » (https://eduscol.education.gouv.fr/sites/default/files/document/spe591annexe11063610pdf-84507.pdf) — § 2.4.3, p. 26 « Encodage de l’information : binaire, hexadécimal, ASCII » : « Identification du type de codage. En première se limiter aux règles de numération et aux changements de base binaire/décimal et décimal/binaire » ; « Traitement numérique » : effets de bords liés à la taille des données
  • BO spécial n°1 du 22 janvier 2019 — programme de spécialité numérique et sciences informatiques de première générale, annexe (https://cache.media.education.gouv.fr/file/SP1-MEN-22-1-2019/26/8/spe633_annexe_1063268.pdf) — « Représentation des données : types et valeurs de base », « Écriture d’un entier positif dans une base b ⩾ 2 » (programme voisin de même niveau, première)
  • RFC 20, « ASCII format for Network Interchange », IETF, 1969 (https://www.rfc-editor.org/rfc/rfc20, lue le 2026-10-19) — table « Standard Code » : A en colonne 4, ligne 1, soit les bits 100 0001 (65, 41 en hexadécimal)

Vous pensez avoir trouvé une erreur dans cette leçon ? Signalez-la par e-mail.

Explorer les autres cours

Accès rapide