FICHE 4

Les Systèmes de Numération

Octal, hexadécimal, BCD et autres systèmes pour représenter les nombres

Introduction aux Bases de Numération

Un système de numération (ou base) est une méthode pour représenter des nombres. La base détermine combien de chiffres différents sont utilisés.

Principe général :

Dans un système en base b, on utilise b chiffres différents (de 0 à b-1). Chaque position représente une puissance de la base.

Exemple : En base 10, on utilise 10 chiffres (0-9) et chaque position représente une puissance de 10 (unités, dizaines, centaines, etc.)

Récapitulatif des bases courantes

Base Nom Chiffres utilisés Suffixe Usage principal
2 Binaire 0, 1 ₂ ou 0b Électronique, informatique
8 Octal 0, 1, 2, 3, 4, 5, 6, 7 ₈ ou 0o Permissions Unix, anciens systèmes
10 Décimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ₁₀ (souvent omis) Usage courant
16 Hexadécimal 0-9, A-F ₁₆ ou 0x Adresses mémoire, couleurs

Le Système Octal (Base 8)

Le système octal utilise 8 chiffres : 0, 1, 2, 3, 4, 5, 6, 7

Avantage de l’octal :

Chaque chiffre octal correspond exactement à 3 bits en binaire, ce qui simplifie grandement les conversions.

Correspondance Octal ↔ Binaire

Octal Binaire (3 bits) Décimal
00000
10011
20102
30113
41004
51015
61106
71117

Conversion Binaire → Octal

Méthode rapide

Grouper les bits par 3 en partant de la droite, puis convertir chaque groupe :

Binaire : 110101011₂

Grouper par 3 : 110 101 011

6 5 3 = 653₈

110101011₂ = 653₈

Applications de l’octal

🐧 Permissions Unix/Linux

Les droits d’accès aux fichiers sont souvent exprimés en octal :

chmod 755 fichier.txt
  • 7 (111) = lecture + écriture + exécution pour le propriétaire
  • 5 (101) = lecture + exécution pour le groupe
  • 5 (101) = lecture + exécution pour les autres

Le Système Hexadécimal (Base 16)

Le système hexadécimal utilise 16 symboles :

0 1 2 3 4 5 6 7 8 9 A B C D E F

A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
Avantage de l’hexadécimal :

Chaque chiffre hexadécimal correspond exactement à 4 bits (un nibble), ce qui permet de représenter un octet (8 bits) avec seulement 2 chiffres hexa.

Table de Correspondance Complète (0-255)

Décimal Hexadécimal Binaire (8 bits)
00000000000
150F00001111
161000010000
311F00011111
322000100000
1277F01111111
1288010000000
255FF11111111

Conversion Binaire ↔ Hexadécimal

Binaire → Hexa : Grouper par 4

Binaire : 11010110101111₂

Grouper par 4 : 0011 0101 1010 1111

3 5 A F = 35AF₁₆

11010110101111₂ = 35AF₁₆

Hexa → Binaire : Convertir chaque chiffre

Hexadécimal : 2F8A₁₆

2 = 0010 | F = 1111 | 8 = 1000 | A = 1010

0010111110001010₂

Applications de l’hexadécimal

Adresses mémoire

Les adresses en informatique sont exprimées en hexadécimal :

0x7FFF2AC4 0xDEADBEEF

Plus compact que le binaire et plus lisible !

Couleurs RGB

Les couleurs web sont codées en hexadécimal (RR GG BB) :

#FF0000 = Rouge pur

#00FF00 = Vert pur

#0076A5 = Bleu F4HXN !

Adresses MAC en réseau

Les adresses MAC sont exprimées en hexa :

00:1A:2B:3C:4D:5E

Chaque paire représente un octet (8 bits)

Conversions Entre Bases

Méthode Générale : Base quelconque → Décimal

Formule

Multiplier chaque chiffre par la puissance correspondante de la base :

Nombre = d₍ₙ₎ × baseⁿ + d₍ₙ₋₁₎ × baseⁿ⁻¹ + … + d₁ × base¹ + d₀ × base⁰

Exemple 1 : 2A3₁₆ → Décimal

1 Identifier les chiffres : 2, A (=10), 3
2 Appliquer les puissances de 16 :
2×16² + 10×16¹ + 3×16⁰
3 Calculer :
2×256 + 10×16 + 3×1 = 512 + 160 + 3 = 675₁₀

Exemple 2 : 157₈ → Décimal

1×8² + 5×8¹ + 7×8⁰ = 64 + 40 + 7 = 111₁₀

Décimal → Base quelconque

💡 Méthode des divisions successives

Convertir 234₁₀ en hexadécimal :

1 234 ÷ 16 = 14 reste 10 (A) ← chiffre de poids faible
2 14 ÷ 16 = 0 reste 14 (E) ← chiffre de poids fort

Lire de bas en haut : EA₁₆

Vérification : 14×16 + 10 = 224 + 10 = 234 ✓

Tableau de Conversion Rapide

Décimal Binaire Octal Hexadécimal
0000000
1000111
2001022
81000108
10101012A
15111117F
16100002010
321000004020
64100000010040
25511111111377FF

Le Code BCD (Binary Coded Decimal)

Le BCD code chaque chiffre décimal sur 4 bits. C’est un compromis entre binaire pur et décimal.

💡 Principe :

Chaque chiffre décimal (0-9) est représenté par son équivalent binaire sur 4 bits.

Attention : Les valeurs 1010 à 1111 (10-15) ne sont jamais utilisées en BCD !

Table BCD

Décimal BCD (4 bits)
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001

Exemple : Coder 147 en BCD

Chaque chiffre séparément :

1 → 0001
4 → 0100
7 → 0111

147₁₀ = 0001 0100 0111 (BCD)

⚠️ Différence avec binaire pur :

147₁₀ en binaire = 10010011 (8 bits)

147₁₀ en BCD = 0001 0100 0111 (12 bits)

Le BCD utilise plus de bits mais simplifie l’affichage décimal !

Applications du BCD

Afficheurs 7 segments

Les décodeurs BCD vers 7 segments (comme le 7447) prennent directement une entrée BCD pour commander un afficheur.

Calculs financiers

Le BCD évite les erreurs d’arrondi en virgule flottante. Utilisé dans les systèmes bancaires et les calculatrices.

Afficheurs de fréquence

Les fréquencemètres et transceiveurs avec affichage numérique utilisent souvent du BCD pour commander les afficheurs LED ou LCD.

Le Code Gray

Le code Gray (ou code binaire réfléchi) est un système où deux valeurs consécutives ne diffèrent que d’un seul bit.

Avantage majeur :

Élimine les erreurs de transition ! Quand un compteur passe de 3 à 4 en binaire, tous les bits changent (011→100). En Gray, un seul bit change.

Table de Conversion (4 bits)

Décimal Binaire Code Gray Bits changés
000000000
1000100011
2001000111
3001100101
4010001101
5010101111
6011001011
7011101001
8100011001

Applications du code Gray

Encodeurs rotatifs

Les encodeurs de position utilisent le code Gray pour éviter les lectures erronées lors des transitions.

📊 Tableaux de Karnaugh

Les lignes et colonnes des tableaux de Karnaugh (simplification logique) utilisent l’ordre Gray pour faciliter le regroupement des cases adjacentes.

Conversion A/N

Certains convertisseurs analogique-numérique utilisent le Gray pour minimiser les erreurs pendant la conversion.

Représentation des Nombres Signés

Pour représenter des nombres négatifs en binaire, plusieurs méthodes existent :

1. Signe et Valeur Absolue

Le bit de poids fort indique le signe (0 = positif, 1 = négatif).

Sur 8 bits :

  • 00101010 = +42
  • 10101010 = -42

Problème : Deux représentations du zéro (+0 et -0) !

2. Complément à 1

Inverser tous les bits pour obtenir le négatif.

Exemple :

  • +42 = 00101010
  • -42 = 11010101 (tous les bits inversés)

Problème : Encore deux représentations du zéro !

3. Complément à 2 (méthode standard)

La méthode universellement utilisée en informatique !

💡 Procédure :
  1. Prendre le binaire du nombre positif
  2. Inverser tous les bits (complément à 1)
  3. Ajouter 1

Exemple : -42 en complément à 2 sur 8 bits

1 +42 en binaire : 00101010
2 Inverser tous les bits : 11010101
3 Ajouter 1 : 11010101 + 1 = 11010110

-42 = 11010110 (complément à 2)

Plages de valeurs

Nombre de bits Plage signée (complément à 2)
8 bits-128 à +127
16 bits-32 768 à +32 767
32 bits-2 147 483 648 à +2 147 483 647
64 bits-9 × 10¹⁸ à +9 × 10¹⁸
Avantages du complément à 2 :
  • Une seule représentation du zéro
  • L’addition fonctionne de la même manière pour les positifs et négatifs
  • Pas besoin de circuit séparé pour la soustraction
  • Détection de dépassement simple

Nombres à Virgule

Virgule Fixe

Un nombre de bits est réservé pour la partie entière, le reste pour la partie décimale.

Format 8.8 (8 bits entiers, 8 bits décimaux)

Le nombre 42.25 serait représenté :

00101010 . 01000000
(42) (0.25)

Virgule Flottante (IEEE 754)

Format utilisé par tous les processeurs modernes.

Format 32 bits (simple précision) :
  • 1 bit : signe (0 = positif, 1 = négatif)
  • 8 bits : exposant (polarisé de 127)
  • 23 bits : mantisse (partie fractionnaire)
Valeur = (-1)ˢⁱᵍⁿᵉ × 2⁽ᵉˣᵖᵒˢᵃⁿᵗ⁻¹²⁷⁾ × (1 + mantisse)

Valeurs spéciales

  • Exposant = 0, Mantisse = 0 : Zéro (+0 ou -0)
  • Exposant = 255, Mantisse = 0 : Infini (+∞ ou -∞)
  • Exposant = 255, Mantisse ≠ 0 : NaN (Not a Number)
⚠️ Erreurs d’arrondi :

Les nombres comme 0.1 ou 0.3 ne peuvent pas être représentés exactement en virgule flottante binaire ! C’est pourquoi 0.1 + 0.2 ≠ 0.3 en informatique.

Utiliser le BCD pour les calculs financiers nécessitant une précision décimale exacte.

Applications Pratiques

Programmation

En C/C++ :

int decimal = 255;
int hexa = 0xFF;        // Préfixe 0x
int octal = 0377;       // Préfixe 0
int binaire = 0b11111111; // Préfixe 0b (C++14+)

Fréquences radio

Affichage LCD d’un transceiver :

La fréquence 14.250.000 Hz peut être stockée :

  • En binaire : pour les calculs internes
  • En BCD : pour l’affichage direct
  • En hexa : pour les commandes CAT

Graphisme

Couleur 24 bits (True Color) :

#FF6347 = RGB(255, 99, 71) = Tomate

FF = Rouge (255), 63 = Vert (99), 47 = Bleu (71)

Points à Retenir

  • Octal : 8 chiffres, grouper par 3 bits, permissions Unix
  • Hexadécimal : 16 symboles (0-F), grouper par 4 bits, adresses mémoire
  • BCD : Chaque chiffre décimal sur 4 bits, afficheurs
  • Code Gray : Un seul bit change entre valeurs consécutives
  • Complément à 2 : Méthode standard pour les nombres signés
  • L’hexadécimal est le plus utilisé en électronique et informatique
  • Bien distinguer binaire pur et BCD
  • Le code Gray évite les erreurs de transition

73 de F4HXN – Prochaine fiche : Les tableaux de Karnaugh ! 📡