Sunteți pe pagina 1din 4

@ CY Nur02 novembre 98 V3.

1 1 / 4 Codage des informations numriques


&RGDJHGHVLQIRUPDWLRQVQXPpULTXHV
I. Les systmes de numration
I.1. Numration dcimale
Ce systme de numration, usuel dans la vie quotidienne, dispose de dix symboles (les chiffres) :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
On travaille alors en base 10.
Exemple : 7239 = 7.10
3
+ 2.10
2
+ 3.10
1
+ 9.10
0
De manire gnrale, un nombre scrivant N = a
n-1
...a
1
a
0
(les a
i

reprsentent les n chiffres) dans une
base B (on dispose de B symboles) scrit :
0
0
1
1
2
2
1
1
B a B a B a B a N
n-
n-
n-
n-
+ + + + =
On note alors N = (a
n-1
...a
1
a
0
)
B
. La base B est note en indice, code en dcimal.
I.2. Numration binaire
La numration en base deux (ou numration binaire) utilise deux symboles 0 et 1. Cette base est trs
commode pour distinguer les deux tats logiques fondamentaux.
On crit :
(a
n-1
a
n-2
...a
1
a
0
)
2
= a
n-1
.2
n-1
+ + a
0
.2
0
(expression de droite crite dans la base 10 et a
i
{0, 1}).
Exemple : (4)
10
= 1.2
2
+ 0.2
1
+ 0.2
0
= (100)
2
Un nombre n chiffres en base deux distingue 2
n
tats.
Un tat binaire est appel bit (contraction de binary digit). Un bit prend les valeurs 0 ou 1.
Les puissances successives de 2 (1, 2, 4, 8, 16, 32, 64, 128, 256,...) sont appeles poids binaires. En
gnral, le poids du bit de rang n est 2
n
(attention, on commence toujours au rang 0).
Le bit de poids le plus fort est appel MSB (Most Significant Bit).
Le bit de poids le plus faible est appel LSB (Less Significant Bit).
I.3. Numration octale
Ce systme utilise 8 symboles : 0, 1, 2, 3, 4, 5, 6, 7. Il nest plus gure employ aujourdhui, puisquil
servait au codage des nombres dans les ordinateurs de premire gnration.
0
0
1
1
2
2
1
1 10
,
0
...
1 8
8 8 8 8 ) ( ) ( a a a a N a a N
n-
n-
n-
n- n-
+ + + + = =
I.4. Numration hexadcimale
Le dveloppement des systmes microprogramms (mini- et micro-ordinateurs) a favoris lutilisation
de ce code. Il comporte 16 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
0
0
1
1
2
2
1
1 10
,
0
...
1 16
16 16 16 16 ) ( ) ( a a a a N a a N
n-
n-
n-
n- n-
+ + + + = =
Un quartet, ou digit hexadcimal, volue entre 0 et 15 (en base 10) soit 0 et F en hexadcimal.
Lassemblage de 2 quartets forme un octet qui varie de 0 255 (en dcimal).
Pour indiquer la base 16, on peut la noter en indice suivant la manire gnrale. Mais dans la pratique
on utilise une autre notation. On place le caractre $ (dollar) devant le nombre ou H derrire.
Exemple
(AA)
16
= AAH = $AA = A.16
1
+A.16
0
= 10.16+10.1 = (170)
10
@ CY Nur02 novembre 98 V3.1 2 / 4 Codage des informations numriques
II. Changements de base - Conversions
II.1. Conversion dcimal vers binaire
Il existe plusieurs moyens deffectuer une telle conversion :
par soustractions successives des poids binaires dans la diffrence de ltape prcdente ;
par divisions successives par 2 du dividende de ltape prcdente. Les restes correspondants
sont les bits conscutifs. Cest termin au premier dividende nul (que lon de compte pas).
II.2. Conversion dcimal vers hexadcimal
On reprend les deux mthodes prcdentes avec des poids hexadcimaux ou en divisant par 16.
II.3. Dcomposition dun nombre dcimal en octal
Les mmes principes sappliquent aussi.
II.4. Toutes les conversions vers le dcimal
Dans tous les cas, il ny a rien de particulier ajouter. Le principe de conversion est directement
attach la manire dont on crit un nombre dans une base donne (Cf. dfinition).
(N)
B
= a
n-1
.B
n-1
+ + a
0
.B
0
o B est cod en dcimal
La conversion est ralise automatiquement dans la mesure o le rsultat est crit directement dans la
base dix.
II.5. Les conversions directes (sans passer par le dcimal)
Dans les bases usuelles (2, 8 et 16) utilises dans les systmes numriques, les conversions peuvent
tre ralises par exploitation de proprits particulires aux nombres de ces bases.
II.5.1. Binaire vers hexadcimal
Un nombre hexadcimal est dcoupable en quartets facilement codables en binaire. Donc, pour
convertir du binaire en hexadcimal, on divise le nombre binaire en tranches de quatre en partant de la
droite. Chacun des paquets est ensuite converti en hexadcimal. Cette mthode revient fractionner en
dcompositions successives.
Exemple : (110101110001)
2
= (1101 0111 0001)
2
= D71H
Explication : la mise en paquet revient effectuer une srie de factorisations partielles de la base de
destination. Ici c'est 16 = 2
4
. Les rsidus constituent les chiffres de la conversion. Dans l'exemple
prcdent, cela donne :
(110101110001)
2
= 1.2
11
+ 1.2
10
+ 0.2
9
+ 1.2
8
+ 0.2
7
+ 1.2
6
+ 1.2
5
+ 1.2
4
+ 0.2
3
+ 0.2
2
+ 0.2
1
+ 1.2
0
= {1.2
3
+1.2
2
+0.2
1
+1.2
0
}.(2
4
)
2
+{0.2
3
+1.2
2
+1.2
1
+1.2
0
}.2
4
+{0.2
3
+0.2
2
+0.2
1
+1.2
0
}
= 13.16
2
+ 7.16
1
+ 1.16
0
II.5.2. Hexadcimal vers binaire
Cest le processus directement inverse, on crit chaque quartet sur 4 bits en compltant ventuellement
avec des zros.
Exemple : BC34H = (1011[B] 1100[C] 0011[3] 0100[4])
2
= (1011 1100 0011 0100)
2
II.5.3. Binaire vers octal et inversement
On reprend les mmes principes, sachant que 8 = 2
3
(en factorisant 8 = 2
3
).
@ CY Nur02 novembre 98 V3.1 3 / 4 Codage des informations numriques
III. Codage des nombres
Un code constitue une correspondance entre des symboles et des objets dsigner. Les codes du I sont
pondrs : dans une base de travail donne, la valeur dun rang donn est un multiple par la base de celle
du rang infrieur. Dautres codes ne sont pas pondrs, cest dire que la position dcriture ne correspond
pas un poids des autres. Ils ne permettent deffectuer doprations arithmtiques.
III.1. Codes pondrs
III.1.1. Code naturel
Le code binaire naturel et ses drivs (octal et hexadcimal) rpondent aux rgles classiques de
larithmtique des nombres positifs (on peut calculer).
III.1.2. Code dcimal cod binaire (DCB)
Dans ce codage (BCD, Binary Coded Decimal en anglais), chaque digit dcimal est crit en binaire
puis tous sont juxtaposs. Cette reprsentation est commode pour traiter les nombres dans le mode de
reprsentation le plus adapt loprateur humain (lors dun affichage par exemple).
Exemple : 7239 = (0111 0010 0011 1001)
DCB
. = (1110001000111)
2
.
III.1.3. Reprsentation des nombres ngatifs : code complment 2
c
3
c
2
c
1
c
0
7 0 1 1 1
6 0 1 1 0
5 0 1 0 1
4 0 1 0 0
3 0 0 1 1
2 0 0 1 0
1 0 0 0 1
0 0 0 0 0
-1 1 1 1 1
-2 1 1 1 0
-3 1 1 0 1
Le codage en complment 2 permet deffectuer des soustractions.
Le complment 1 ou complment restreint (CR) dun nombre est
obtenu en inversant chaque bit. On a donc x + CR(x) = 2
n
-1 (n est le
nombre de bits de x).
Exemple : CR(22) = CR(10110) = 01001 (= 9 = 2
5
1 22).
Il vient donc : x + CR(x) + 1 = 2
n
. 2
n
correspond un cycle et nest
pas interprt (le bit extrieur la taille de codage est ignor). Par
consquent, la valeur ngative x est reprsente par CR(x) + 1.
La valeur CR(x) + 1 est appele complment vrai (CV) ou complment
2 de x.
La codage par complment 2 (Tableau 1) permet la
reprsentation des nombres ngatifs utilise dans les calculateurs. Le
signe est le bit de poids fort : 0 pour le signe + (compatible avec le
codage non sign) et 1 pour le signe ngatif.
Tableau 1
Exemple : 7 4 = 7 + CV(4) = 0111 + CV(0100) = 0111 + 1011 + 1 = (1)0011 = +3.
III.2. Codes non pondrs
III.2.1. Code cyclique : code binaire rflchi ou code Gray
Dans ce code, un seul bit change entre deux valeurs adjacentes. Il est employ ds que lon doit
reprsenter une lvolution relle des variables o une seule change un instant (exemple dans les tables
de Karnaugh).
III.2.2. Codes redondants : dtecteur et correcteurs derreurs (pour info)
Ces codes sont utiliss pour contrler les transmissions. Ils permettent de dtecter une erreur de bit lors
dune transmission et parfois mme une correction de lerreur. Pour lessentiel, ces codes ne sont pas
pondrs.
IV. Extension aux codes non numriques
Pour manipuler dautres lments que des nombres, il est ncessaire de les coder. Le plus connu de ces
codes, et le plus utilis en particulier dans le monde informatique, est le code ASCII (American Standard
Code for Information Interchange) prsent dans le Tableau 2.
@ CY Nur02 novembre 98 V3.1 4 / 4 Codage des informations numriques
Table des caractres de contrle (00 31)
ASCII Caract. Signification ASCII Caract. Signification
00 NUL null, nul 16 DLE data link escape, chap. liaison donnes
01 SOH start of heading, dbut den-tte 17 DC1 device control 1, commande unit 1
02 STX start of text, dbut de texte 18 DC2 device control 2, commande unit 2
03 ETX end of text, fin de texte 19 DC3 device control 3, commande unit 3
04 EOT end of transmission, fin de transmission 20 DC4 device control 4, commande unit 4
05 ENQ enquiry, interrogation 21 NAK negative acknowledge, acc. rcep. ng.
06 ACK acknowledge, accus de rception 22 SYN synchronous idle, inactif synchronis
07 BEL bell, sonnerie 23 ETB end of transmission block, fin tran. bloc
08 BS backspace, espacement arrire 24 CAN cancel, annuler
09 HT horizontal tabulation, tabulation horiz. 25 EM end of medium, fin du support
10 LF line feed, saut de ligne 26 SUB substitute, substitut
11 VT vertical tabulation, tabulation verticale 27 ESC escape, chappement
12 FF form feed, saut de page 28 FS file separator, sparateur de fichiers
13 CR carriage return, retour chariot 29 GS group separator, sparateur de groupes
14 SO shift out, hors code 30 RS record separator, sp. denregistr.
15 SI shift in, en code 31 US unit separator, sparateur dunits
Table des caractres imprimables (32 127) ou table ASCII standard
ASCII Caractre. ASCII Caractre ASCII Caractre
32 SP (space, espace) 64 @ 96 `
33 ! 65 A 97 a
34 " 66 B 98 b
35 # 67 C 99 c
36 $ 68 D 100 d
37 % 69 E 101 e
38 & 70 F 102 f
39 ' 71 G 103 g
40 ( 72 H 104 h
41 ) 73 I 105 i
42 * 74 J 106 j
43 + 75 K 107 k
44 , 76 L 108 l
45 - 77 M 109 m
46 . 78 N 110 n
47 / 79 O 111 o
48 0 80 P 112 p
49 1 81 Q 113 q
50 2 82 R 114 r
51 3 83 S 115 s
52 4 84 T 116 t
53 5 85 U 117 u
54 6 86 V 118 v
55 7 87 W 119 w
56 8 88 X 120 x
57 9 89 Y 121 y
58 : 90 Z 122 z
59 ; 91 [ 123 {
60 < 92 \ 124 |
61 = 93 ] 125 }
62 > 94 ^ 126 ~
63 ? 95 _ 127 DEL (delete, sup.)
Tableau 2 : codage ASCII.

S-ar putea să vă placă și