![]() |
![]() |
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 |
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 |
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 |
Signe |
Exposant |
Mantisse |
||||||
- |
4 |
2 |
1 |
2 |
C |
0 |
0 |
0 |
1 |
100 |
0010 |
0001 |
0010 |
1100 |
0000 |
0000 |
0000 |
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 des caractères étendus (128 - 255)