Codification de l'information 07/09/2000  Patrick ABATI 
Liste des cours

 Représentation hexadécimale 

Binaire
Binaire
Binaire
Binaire
Hexadécimal
Décimal
23
22
21
20
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
2
2
0
0
1
1
3
3
0
1
0
0
4
4
0
1
0
1
5
5
0
1
1
0
6
6
0
1
1
1
7
7
1
0
0
0
8
8
1
0
0
1
9
9
1
0
1
0
A
10
1
0
1
1
B
11
1
1
0
0
C
12
1
1
0
1
D
13
1
1
1
0
E
14
1
1
1
1
F
15

 

 Conversion binaire - hexadécimal 
    Un caractère hexadécimal correspond à 4 chiffres binaires, soit 1 quartet. La conversion se fait en isolant chaque quartet.
Exemple : soit le nombre binaire de 16 chiffres (16 bits) % 1111 1000 0000 000

1111
1000
0000
0001
F
8
0
1
Le nombre hexadécimal correspondant est donc $ F801

 
 Conversion hexadécimal - décimal 
Le nombre précédent $ F801 peut s'écrire en code décimal :
15 x 163 + 8 x 162 + 0 x 161 + 1 x 160 = 63 489.
Un nombre décimal se convertit en hexadécimal à partir de la connaissance des puissances de 16 successives : 1, 16, 256, 4096...
Exemple : soit le nombre décimal 4011
4011 : 256 = 15 reste : 4011 - 256 x 15 = 171
171 : 16 = 10 reste : 171 - 16 x 10 = 11
11 : 1 = 11 reste : 0
4011 = 15 x 162 + 10 x 161 + 11 x 160 c'est à dire: FAB


 Les entiers positifs 
    Le codage se fait sur n bits et permet de définir des entiers compris entre 0 et 2n-1. Le langage PASCAL utilise le type BYTE (8 bits ou octet) pour le codage de 0 à 255 et le type WORD (16 bits) pour le codage de 0 à 65535.


 Les entiers relatifs 
    On utilise la représentation en complément à deux. Le calcul de l'opposé d'un nombre peut se faire de deux façons :

On peut noter que le bit de poids le plus fort indique le signe :

Représentation sur 4 bits :

7
6
5
4
3
2
1
0
-1
-2
-3
-4
-5
-6
-7
-8
0111
0110
0101
0100
0011
0010
0001
0000
1111
1110
1101
1100
1011
1010
1001
1000

Le langage PASCAL code les entiers relatifs :


 Les nombres flottants 
    La notation en virgule flottante permet d'éviter de conserver un grand nombre de chiffres non significatifs tout au long d'un calcul. Le premier chiffre apparaît immédiatement après la virgule (0,00001997 = 0,1997 x 10-4). On peut coder la suite des décimales (mantisse) sur 3 octets, l'exposant sur 7 bits et le signe du nombre.

Exemple : 18,75
18,75 = 1 x 161 + 2 x 160 + 12 x 16-1 = 162 ( 1 x 16-1 + 2 x 16-2 + 12 x 16-3)
La mantisse est : $ 12C -> $12 $C0 $00 sur 3 octets
Le nombre est positif : le bit le plus fort est 0
L'exposant est égal à 2 : on le code en lui ajoutant 64 -> 64+2=66 = $42

On obtient en binaire (sur 32 bits) :

Signe
Exposant
Mantisse
+
4
2
1
2
C
0
0
0
0
100
0010
0001
0010
1100
0000
0000
0000

Pour coder -18,75, il suffit de modifier le bit de signe :

Signe
Exposant
Mantisse
-
4
2
1
2
C
0
0
0
1
100
0010
0001
0010
1100
0000
0000
0000

Le langage PASCAL utilise les types suivants :


 Le code A.S.C.I.I. 
    Ce code résulte d'une normalisation faite par une commission américaine (American Standards Association). Formé à son origine de 7 bits, il a été étendu à 8 bits par la suite. C'est un code alphanumérique qui regroupe les principaux caractères et fonctions utilisés.

Exemples : A -> $41 -> 65 et r -> $72 -> 114
*ASCII : American Standard Code for Information Interchange.

Tableau des fonctions :

Fonction
Hex
Déc
Signification
Fonction
Hex
Déc
Signification
NULL
0
0
Null
DC1
11
17
Device Control 1
SOH
1
1
Start Of Heading
DC2
12
18
Device Control 2
STX
2
2
Start Of Text
DC3
13
19
Device Control 3
ETX
3
3
End Of Text
DC4
14
20
Device Control 4
EOT
4
4
End Of Transmission
NAK
15
21
Negative Acknowledge
ENQ
5
5
Enquiry
SYN
16
22
Synchronous idle
ACK
6
6
Acknowledge
ETB
17
23
End of Transmission Bloc
BEL
7
7
Bell
CAN
18
24
Cancel
BS
8
8
Back Space
EM
19
25
End of Medium
TAB
9
9
Horizontal Tabulation
EOF
1A
26
End Of File
LF
A
10
Line Feed
ESC
1B
27
Escape
VT
B
11
Vertical Tabulation
FS
1C
28
File Separator
FF
C
12
Form Feed
GS
1D
29
Group Separator
CR
D
13
Carriage Return
RS
1E
30
Record Separator
SO
E
14
Shift Out
US
1F
31
Unit Separator
SI
F
15
Shift In
SP
20
32
Space
DLE
10
16
Data Link Escape
DEL
7F
127
Delete

Codes caractères standard (0 - 127)

Codes des caractères étendus (128 - 255)

QCM

  W3C W3C W3C