Académique Documents
Professionnel Documents
Culture Documents
Objectifs :
Comprendre les différents systèmes de codage couramment utilisés dans les systèmes informatiques
Encoder et décoder des informations (conversion de données)
Détecter et corriger des erreurs lors de transmission d’informations
I. Numération et code
Introduction
Toute information traitée par les systèmes informatiques devra pouvoir être représentée sous une forme
compréhensible par machine, dans le cas qui nous intéresse, sous forme binaire. Ce passage d’une information,
d’un langage compréhensible par l’homme, à un langage compréhensible par la machine s’appelle codage ou
codification.
Il existe de nombreuses possibilités de codage de l’information, citons dès à présent :
Binaire,
Hexadécimal,
BCD,
ASCII…
Forme polynomiale
Conversion toutes les bases D’une manière générale on a : (1011)2 = 1x23 + 0x22 + 1x21 +1x20=(11)10
Vers la base décimale
(N)B =an-1Bn-1 +…+a0-B0 (324)8 =3x82 + 4x80 = (212)10
B : base ai ; les n chiffres (1A2)16 = 1x162 +10x161 + 2x160 =(418)10
Remarque :
a. Conversion base i vers base j
Si i et j sont des puissances de 2, on utilise la base 2 comme relais ;
Exemple : conversion 8 vers 16
: base 8 base 2 base 16
b. Quelques cas spécifiques de conversion
Conversion de nombres binaires à virgules en décimal
Exemples :
Convertir les nombres binaires fractionaires suivants en décimal :
0.1011
10111101.011
Exemple
0.3125 à convertir
Application
0.625
0.375
45.5
3. Codage
+9 = 0 1001
-9 = 1 1001
+12 = 0 1100
-12 = 1 1100
b. Représentation en complément à 1
Le complément à 1 d’un nombre binaire s’obtient en changeant les 1 en 0 et les 0 en 1.
Exemples :
+7 = 0 0111
-7 = 1 1000
+10 = 0 1010
-10 = 1 0101
c. Représentation en complément à 2
Dans un code à complément à 2, on obtient le code du négatif d’un nombre en effectuant le complément à un de
ce nombre et en lui ajoutant 1 sans garder de retenue.
Exemples :
+7 = 0 0111
-7 = 1 1001
+10 = 0 1010
-10 = 1 0110
Remarque :
Il est à remarquer que si nous attribuons la valeur -1 au bit de signe d’un nombre représenté par
son complément à 2, nous obtenons la valeur algébrique exacte du nombre. (Exemple 1)
Le code à complément à 2 est très important puisqu’il permet d’effectuer des opérations
arithmétiques avec signes sans avoir à se préoccuper de ceux-ci.
On peut également déterminer le complément à 2 d’un nombre en procédant de la manière
suivante : examiner tous les bits du nombre N de la droite à la gauche et complémenter tous les
bits positionnés après le premier « 1 » rencontré. (Exemple 3)
Exemple 1 :
-7 11001 = -24 +23 +0+0+1
Exemple 2 :
Faire l’addition de 127 et -26 ainsi que de -127 et 26
127 0111 1111 0111 1111
-26 -0001 1010 +1110 0110
Sous cette forme normalisée, il suffit de mémoriser le signe, l’exposant et la mantisse pour avoir une
représentation du nombre en base 10. Il n’est pas utile de mémoriser le 0 avant la virgule puisque tous les
nombres vont commencer par 0. En faisant varier l’exposant, on fait « flotter » la virgule décimale.
C’est cette méthode que l’on va adapter pour coder les réels en binaire naturel. Il faut au préalable les écrire
sous la forme (norme IEEE 754 – Institute of Electrical and Electronics Engineers) :
Le mot binaire obtenu sera la juxtaposition de 3 parties :
signe 1, mantisse x 2exposant
Dans cette norme, selon la précision recherchée on utilisera pour le stockage du nombre un nombre d’octets
plus ou moins importants.
Démarche de conversion :
Applications
1. Comment représenter le nombre décimal 6,625 en virgule flottante, format simple précision.
2. Représenter le décimal -243,25 en virgule flottante, format simple précision.
3. Encoder le nombre +16,5 en simple précision.
4. Comment retrouver la valeur décimale du nombre 44 F3 E0 00 réprésenté en virgule flottante selon la
même norme.
Code décimal 0 1 2 3 4 5 6 7 8 9
Code AIKEN 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111
0 et 9 sont complémentaires ; 1 et 8 ; 2 et 7 ; 3 et 6 ; 4 et 5.
Code décimal 0 1 2 3 4 5 6 7 8 9
Code "plus 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
trois"
exemple : 2583 d s'écrit en code "plus 3" : 0101 1000 1011 0110
Créé pour permettre la réalisation simple des soustractions : le complément à 1 d'un mot représente le
complément à 9 dans l'ensemble source.
exemple : cp à 1 de 8 (1011) est 1 (0100).
Bit de parité
1 0 1 0 0 1 0 0 parité impaire
Bit de parité
Application 01
-> Si l’on transmet le message « ALLO » en code ASCII, quelle est la chaîne binaire que le récepteur doit
obtenir (transmission avec bit de parité pair)
Réponse : 01000001 11001100 11001100 11001111
-> Si l’on reçoit la chaîne suivante 11000011 00100000 01110001 11110101 01101001 00100000 00111111
comment peut-on l’interpréter en ASCII (Transcodez ce message binaire en ASCII; réception avec bit de
parité paire)
On distingue deux techniques d’élaboration de des codes : les codes de blocs, et les contrô les cycliques.
i. Les codes blocs
Parmi les codes de blocs on rencontre :
Exemple :
LRC
B 1 0 0 0 0 1 0 0
O 1 0 0 1 1 1 1 1
N 1 0 0 1 1 1 0 0
J 1 0 0 1 0 1 0 1
O 1 0 0 1 1 1 1 1
U 1 0 1 0 1 0 1 0
R 1 0 1 0 0 1 0 1
VRC 1 0 0 0 0 0 1 0
Parité
croisée
Cette méthode permet de détecter toutes les erreurs simples, doubles et triples, ainsi que de corriger les
erreurs simples.
Récapitulatif
Q 1 SOH DC1 / a j t A J 1
u 2 STX DC2 b k s B K S 2
r 4 d m u D M U 4
t 5 HT NL LF e n v E N V 5
e 6 BS ETB f o w F O W 6
8 EOM CAM h q y H Q Y 8
f 9 EM i r z I R Z 9
a A [ ] | :
i B VT t $ t #
e E SO RS ACK + > t
F SI US BEL SUB ! @ ? =
t Options nationales
A =41H
NUL Null (nul) DLE Data Link Escape
SOH Start of Header (début d'entête) DC1 Pas de signification déterminée, mais généralement
STX Start of Text (début du texte) DC2 utilisés pour le XON/XOFF dans les protocoles de
ETX End of Text (fin du texte) DC3 connexion
End of Transmission (fin de
EOT DC4
transmission)
ENQ Enquiry (demande) NAK Negative Acknowledge (accusé de reception négatif)
ACK Acknowledge (accusé de reception) SYN Synchronous Idle
End of Transmission Block (fin du bloc de
BEL Bell (cloche) ETB
transmission)
BS Backspace (espacement arrière) CAN Cancel (annulation)
Horizontal Tab (tabulation
HT EM End of Medium (fin de support)
horizontale)
LF Line Feed (saut de ligne) SUB Substitute (substitution)
VT Vertical Tab (tabulation verticale) ESC Escape (échappement)
FF Form Feed (saut de page) FS File Separator (séparateur de fichier)
CR Carriage Return (retour chariot) GS Group Separator (séparateur de groupe)
SO Shift Out (fin d'extension) RS Record Separator (séparateur d'enregistrement)
SI Shift In (démarrage d'extension) US Unit Separator (séparateur d'unité)
SP Space (espace blanc) DEL Delete (effacement)
Remarques
Les codes 0 à 31 ne sont pas des caractères. On les appelle caractères de contrôle car ils permettent de faire des
actions telles que:
o retour à la ligne (CR)
o bip sonore (BEL)
Les codes 48 à 57 représentent les chiffres.
Les codes 65 à 90 représentent les majuscules.
Les codes 97 à 122 représentent les minuscules
Déci Hexa ASCII Déci Hexa ASCII Déci Hexa ASCII Déci Hexa ASCII
128 80 Ç 160 A0 á 192 C0 + 224 E0 Ó
129 81 ü 161 A1 í 193 C1 - 225 E1 ß
130 82 é 162 A2 ó 194 C2 - 226 E2 Ô
131 83 â 163 A3 ú 195 C3 + 227 E3 Ò
132 84 ä 164 A4 ñ 196 C4 - 228 E4 õ
133 85 à 165 A5 Ñ 197 C5 + 229 E5 Õ
134 86 å 166 A6 ª 198 C6 ã 230 E6 µ
135 87 ç 167 A7 º 199 C7 Ã 231 E7 þ
136 88 ê 168 A8 ¿ 200 C8 + 232 E8 Þ
137 89 ë 169 A9 ® 201 C9 + 233 E9 Ú
138 8A è 170 AA ¬ 202 CA - 234 EA Û
139 8B ï 171 AB ½ 203 CB - 235 EB Ù
140 8C î 172 AC ¼ 204 CC ¦ 236 EC ý
141 8D ì 173 AD ¡ 205 CD - 237 ED Ý
142 8E Ä 174 AE « 206 CE + 238 EE ¯
143 8F Å 175 AF » 207 CF ¤ 239 EF ´
144 90 É 176 B0 _ 208 D0 ð 240 F0
145 91 æ 177 B1 _ 209 D1 Ð 241 F1 ±
146 92 Æ 178 B2 _ 210 D2 Ê 242 F2 _
147 93 ô 179 B3 ¦ 211 D3 Ë 243 F3 ¾
148 94 ö 180 B4 ¦ 212 D4 È 244 F4 ¶
149 95 ò 181 B5 Á 213 D5 i 245 F5 §
150 96 û 182 B6 Â 214 D6 Í 246 F6 ÷
151 97 ù 183 B7 À 215 D7 Î 247 F7 ¸
152 98 ÿ 184 B8 © 216 D8 Ï 248 F8 °
153 99 Ö 185 B9 ¦ 217 D9 + 249 F9 ¨
154 9A Ü 186 BA ¦ 218 DA + 250 FA ·
155 9B ø 187 BB + 219 DB _ 251 FB ¹
156 9C £ 188 BC + 220 DC _ 252 FC ³
157 9D Ø 189 BD ¢ 221 DD ¦ 253 FD ²
158 9E × 190 BE ¥ 222 DE Ì 254 FE _
159 9F ƒ 191 BF + 223 DF _ 255 FF