Codes de Base : ASCII, BCD, etc. | Sciences de l'Ingénieur 1ère
Introduction aux codes de base
Découvrez les codes fondamentaux pour représenter les données dans les systèmes numériques
Définition des codes
Qu'est-ce qu'un code ?
Un code est un système de représentation d'information à l'aide de symboles.
En informatique et électronique, les codes permettent de représenter des données (lettres, chiffres, symboles) sous forme binaire.
Chaque code associe une suite de bits à un élément d'information.
- Représenter l'information de manière standardisée
- Faciliter la transmission et le stockage
- Assurer la compatibilité entre systèmes
- Optimiser les performances
Un bon code doit être :
- Unique : chaque information a un code distinct
- Complet : toutes les informations sont codées
- Efficient : taille minimale pour la représentation
- Fiable : résistant aux erreurs
Code ASCII
American Standard Code for Information Interchange
ASCII (American Standard Code for Information Interchange) est un code standard pour représenter les caractères.
Utilise 7 bits pour coder 128 caractères différents.
Comprend : lettres majuscules/minuscules, chiffres, ponctuation, caractères de contrôle.
A = 65₁₀ = 1000001₂
B = 66₁₀ = 1000010₂
a = 97₁₀ = 1100001₂
0 = 48₁₀ = 0110000₂
Espace = 32₁₀ = 100000₂
Version étendue (8 bits) permet d'avoir 256 caractères.
Permet d'inclure des caractères accentués, symboles spéciaux.
Exemples : é, à, ©, €, etc.
Code BCD
Binary Coded Decimal
BCD (Binary Coded Decimal) est un code pour représenter les chiffres décimaux en binaire.
Chaque chiffre décimal (0-9) est codé sur 4 bits.
Seuls les combinaisons de 0000 à 1001 sont valides (0-9).
37₁₀ = 0011 0111 (BCD)
5 = 0101
12 = 0001 0010
255 = 0010 0101 0101
Avantages :
- Facilité de conversion entre décimal et binaire
- Précision pour les calculs décimaux
- Facilité d'affichage
Inconvénients :
- Moins efficace en termes de stockage
- Calculs plus complexes
Code de Gray
Code à changement unique
Le code de Gray est un code binaire où deux valeurs successives ne diffèrent que d'un seul bit.
Très utile dans les applications où les changements brusques doivent être évités.
Particulièrement utile dans les encodeurs rotatifs.
Gray vers binaire :
- b₀ = g₀
- b₁ = b₀ ⊕ g₁
- b₂ = b₁ ⊕ g₂
- etc.
Binaire vers Gray :
- g₀ = b₀
- g₁ = b₀ ⊕ b₁
- g₂ = b₁ ⊕ b₂
- etc.
| Décimal | Binaire | Gray |
|---|---|---|
| 0 | 000 | 000 |
| 1 | 001 | 001 |
| 2 | 010 | 011 |
| 3 | 011 | 010 |
Autres codes importants
Codes complémentaires
Chaque chiffre décimal est codé en ajoutant 3 à sa valeur binaire.
Exemple : 0 = 0011, 1 = 0100, 2 = 0101, ..., 9 = 1100.
Utile pour les opérations arithmétiques.
Ajout d'un bit de parité pour détecter les erreurs de transmission.
Parité paire : nombre total de 1 est pair.
Parité impaire : nombre total de 1 est impair.
Extension d'ASCII pour représenter tous les caractères du monde.
Utilise jusqu'à 32 bits (UTF-32) ou 8/16 bits (UTF-8/UTF-16).
Permet de représenter plus de 1 million de caractères.
Applications concrètes
Utilisation des codes
ASCII et Unicode pour le texte.
BCD pour les calculs financiers (précision).
Code de Gray pour les encodeurs rotatifs.
BCD pour les afficheurs 7 segments.
Code de Gray pour les tables de Karnaugh.
Code de parité pour la détection d'erreurs.
- Claviers : chaque touche génère un code ASCII
- Calculatrices : utilisation de BCD pour précision
- Robotique : encodeurs avec code de Gray
- Mémoire : codes de correction d'erreurs
Exercice 1 : Code ASCII
Exercice d'application
1. Donner la représentation ASCII en binaire de la lettre 'A'.
2. Donner la représentation ASCII en binaire de la lettre 'Z'.
3. Donner la représentation ASCII en binaire du chiffre '5'.
4. Convertir le code ASCII 1001000 en caractère.
Solution exercice 1
Correction détaillée
'A' correspond à 65 en décimal.
65₁₀ = 1000001₂
En ASCII 7 bits : 1000001
En ASCII 8 bits : 01000001
'Z' correspond à 90 en décimal.
90₁₀ = 1011010₂
En ASCII 8 bits : 01011010
'5' correspond à 53 en décimal.
53₁₀ = 110101₂
En ASCII 8 bits : 00110101
1001000₂ = 1×2⁶ + 1×2³ = 64 + 8 = 72₁₀
72 correspond à la lettre 'H' dans la table ASCII
Exercice 2 : Code BCD
Exercice sur le BCD
1. Convertir 47₁₀ en BCD.
2. Convertir 123₁₀ en BCD.
3. Convertir 1001 0110 (BCD) en décimal.
4. Convertir 0101 0011 1001 (BCD) en décimal.
Solution exercice 2
Correction détaillée
4 = 0100
7 = 0111
1 = 0001
2 = 0010
3 = 0011
1001 = 9
0110 = 6
0101 = 5
0011 = 3
1001 = 9
Exercice 3 : Code de Gray
Exercice sur le code de Gray
1. Convertir 1011 (binaire) en code de Gray.
2. Convertir 1101 (Gray) en binaire.
3. Expliquer pourquoi le code de Gray est utile dans les encodeurs rotatifs.
Solution exercice 3
Correction détaillée
Binaire : 1011
Gray : g₀ = b₀ = 1
g₁ = b₀ ⊕ b₁ = 1 ⊕ 0 = 1
g₂ = b₁ ⊕ b₂ = 0 ⊕ 1 = 1
g₃ = b₂ ⊕ b₃ = 1 ⊕ 1 = 0
Gray : 1101
b₀ = g₀ = 1
b₁ = b₀ ⊕ g₁ = 1 ⊕ 1 = 0
b₂ = b₁ ⊕ g₂ = 0 ⊕ 0 = 0
b₃ = b₂ ⊕ g₃ = 0 ⊕ 1 = 1
Dans les encodeurs rotatifs, plusieurs bits peuvent changer simultanément lors d'un passage d'une position à une autre.
Avec le code binaire standard, cela peut provoquer des états transitoires erronés.
Avec le code de Gray, un seul bit change à la fois, éliminant les erreurs transitoires.
Cela assure une lecture précise et fiable de la position de l'encodeur.
Synthèse
Points clés
- 7 bits pour 128 caractères de base
- 8 bits pour version étendue (256 caractères)
- Standard pour le texte dans les ordinateurs
- 4 bits par chiffre décimal (0-9)
- Utile pour précision dans les calculs
- Facilité d'affichage sur 7 segments
- Un seul bit change entre deux valeurs successives
- Idéal pour les encodeurs rotatifs
- Élimine les erreurs transitoires
Conclusion
Félicitations !
Continuez à pratiquer pour renforcer vos compétences