Вы находитесь на странице: 1из 7

Cours 1

Codage de linformation
Cest bte, un ordinateur : a ne sait compter que jusqu 1 : 0 zro et 1 un.
En fait, il fait tout avec ces deux chiffres. Autrement dit, tout est cod
uniquement avec ces deux chiffres : images, sons, vidos, programmes.
Une telle valeur (0 ou 1) sappelle un boolen, un chiffre binaire, ou plus
connu : un bit.
Do cela vient-il ? Du courant lectrique ! Il passe ou ne passe pas.
En fait, on utilise la tension lectrique (en gnral 0 V / 5 V).
Les composants des ordinateurs sont tous construits partir de
circuits logiques, permettant de faire des oprations de base trs
simples : ce sont des portes logiques.

I-

Systmes de numrotation
1. Numration dcimale

Chiffres utiliss :
criture de 275 :

Rappelez-vous ceci :

0, 1, 2, 3, 4, 5, 6, 7, 8 et 9
275d = 2x102 + 7x101 + 5x100
2 000d = 2x103

2. Numrotation binaire

Chiffres utiliss :
criture de 1101 :

Rang n

Rang 0

0 et 1
1101b = 1x23 + 1x22 + 0x21 + 1x20 = 13d

Rappelez-vous ceci :

chaque chiffre est un bit


bit de rang 0 : bit de poids faible
bit de rang n : bit de poids fort
un nombre de 8 bits est un octet (byte) : 1111 1111b = ____
un mot de n bits peut reprsenter un nombre de 0 ________
Pour multiplier par 10 un nombre exprim en base 10, il suffit de rajouter un 0 au chiffre de poids faible :
quelle opration opration est quivalente en base 2 ? _________________________________________ ?

Les units
1 octet = 8 bit

1 kibi-octet (Kio) = 1 024 octets


1 mbi-octet (Mio) = 1 048 576 octets
1 gibioctet (Gio) = 1 073 741 824 octets
1 tbioctet (Tio)
= 1 099 511 627 776 octets

1 Kilo-octet (Ko) = 1 000 octets


1 Mga-octet (Mo) = 1 000 000 octets
1 Giga-octet
(Go) = 1 000 000 000 octets
1 Tera-octet (To) = 1 000 000 000 000 octets
1

Cours 1

3. Numrotation hexadcimale

Chiffres utiliss :

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F

criture de 275 :

Ah = 10d ; Bh = 11d ; ; Fh = 15d


275h = 2x162 + 7x161 + 5x160 = __________
2A3Bh = 2x163 + 10x162 + 3x161 + 11x160 = __________

Cette numrotation est utilise pour


ladressage en mmoire : B8AC 000Fh par
exemple ou pour le codage des couleurs1 :
Rappelez-vous ceci :

1 octet = FFh = 1111 1111b

4. Changement de base
a. De la base b la base 10
Le nom (anan-1a2a1a0)b donne lentier an.bn + an-1.bn-1 + a2.b2 + a1.b1 + a0.b0.
Par exemple : 2567o (en base octale ou base 8) donne : 1399d
Essayez : 76401o = ______________________________ ; BA986511 = ______________________________

b. De la base 10 la base b
La mthode lmentaire consiste faire des divisions successives par b. Par exemple, 1789d convertir en
base 5 :
1789 5
4
357
2

5
71
1

5
14
4

5
2
2

5
0

Donc 1789d = 241245


Plus simplement, on peut aussi crire les puissances successives de 5, savoir 0, 5, 25, 125, 625, 3125 et les
soustraire :
1789 2x54 = 539 ; 539 4x53 = 39 ; 39 1x52 = 14 ; 14 2x51 = 4 et enfin 4 4x50 = 4

c. De la base 2 la base 16
Mais, comme les ordinateurs travaillent essentiellement avec les bases binaire et
hexadcimale, il est facile de passer dune base lautre. Ainsi, pour le passage
de la base 2 vers la base 16 :
dcomposition en nombre de 4 bits
complment ct poids fort avec des 0
chaque groupe de 4 bits donne un chiffre en base 16 :
0001b = 1h ; 0010b = 2h ; ; 0111b = 7h ; ; 1010b = Ah ; ; 1111b = Fh

http://www.profil-couleur.com/pp/324-code-couleur.php
2

Cours 1
Pour le passage de la base 16 la base 2 :
conversion du caractre hexadcimale en binaire
on complte ventuellement avec des 0 chaque caractre
hexadcimale de faon avoir 4 bits
on regroupe par tranche de 4 bits partir du bit de poids faible

II -

Le codage des nombres


1. Entiers relatifs

En informatique, on parle de nombres signs (avec un signe ou + ). Pour reprsenter les entiers
relatifs en notation binaire, on doit tendre la reprsentation des positifs aux nombres ngatifs.
Historiquement, on a utilis le bit de poids fort comme signe :

Pas pratique, cela cote cher en circuits, en temps de calcul et en mmoire. De plus, il y a deux 0, lun
ngatif, lautre positif : 1000 000 et 000 000 (en base 8) !
Aujourdhui, on utilise la mthode du complment 2, qui consiste tout simplement dplacer les
nombres ngatifs au-del des nombres positifs (en utilisant le bit de poids fort) :

Ainsi, sur 16 bits, au lieu de coder 216-1 nombres, comme on a 1 bit de moi, on code 215-1 nombres mais on
a un bit de signe2. Cest comme si on remplaait les 0 par des 1 et les 1 par des 0, puis quon rajoutait 1 !
Rappelez-vous ceci :

N > 0 : codage normal : 5d = 0000 0000 0000 0101b


N < 0 : on ajoute 216 soit N + 65536 : 5d = 1111 1111 1111 1011b

2. Nombre virgule flottante


Impossible de coder les nombres rels, il faut approximer ! On code sur 16 bits en simple prcision et sur 32
bits en double prcision : 1 bit de signe s, 11 bits dexposant n et 52 bits de mantisse m : s0,m.2n 3

2
3

Pour plus de complments, voir le livre de cours page 105, et page 109 pour la version Python
Pour plus de complments, voir le livre de cours page 108, et page 112 pour la version Python
3

Nom Prnom : __________________________

III -

Cours 1

Exercices dapplication
1. Numrotation dcimale

Comment sont crits les nombres suivants : 1 234d ; 1 234o ; 1 234h ?

2. Numrotation binaire
a) Traduisez en criture dcimale les nombres : 1101 1100b ; 1010 1010b ; 0011 0011b ?

b) Quel plus grand nombre peut tre reprsent par un octet ?

c) Prouvez quavec un mot de n bits, on peut coder les nombres de 0 2n1

d) Que se passe-t-il si on dcale dun bit vers la gauche, en rajoutant un 0 droite, tous les bits dun
mot exprim en base 2 ? Donnez un exemple avec 5d.

3. Numrotation hexadcimale
a) Traduisez en notation dcimale les nombres FFh ; 10h ; 1Fh ; 1000h et 1234h

b) Que pouvez-vous dire au sujet de loctet ?

c) Donnez lcriture dcimale des nombres 76401h et BA9865h

4. Changement de base
a) Donnez lcriture dcimale des nombres 76401o et BA986512

b) Donnez la reprsentation en base 16 puis en base 2 des nombres 6725d et 18 379d

Nom Prnom : __________________________

Cours 1

c) Convertissez 1100011010b en base 16 et 7CF21 en base 2 sans passer par la base 10 !

5. Entiers signs
a) Expliquez la mthode du complment deux pour les entiers exprims en 16 bits

b) Comment sont reprsents les entiers 1d, 2d et 10d ?

c) Comment se succdent les nombres relatifs (voir le livre page 105) ?

6. Exercice faire la maison


Vous devrez chercher sur un tableur (LibreOffice Calc, Microsoft Excel, etc. ) toutes les fonctions de
conversions qui existent dans ces logiciels et en faire un bilan.

Petit jeu : Vous pouvez jouer sur : http://forums.cisco.com/CertCom/game/binary_game.swf

Nom Prnom :

Corrig

Cours 1

1. Numrotation dcimale
Comment sont crits les nombres suivants : 1 234d ; 1 234o ; 1 234h ?
3

1 234d = 1.10 + 2.10 + 3.10 +4.10 ; 1 234o = 1.8 + 2.8 + 3.8 +4.8 ; 1 234d = 1.16 + 2.16 + 3.16 +4.16

2. Numrotation binaire
a) Traduisez en criture dcimale les nombres : 1101 1100b ; 1010 1010b ; 0011 0011b ?
7

2 + 2 + 2 + 2 +2 = 220 ; 2 + 2 + 2 + 2 +2 = 170 ; 2 + 2 + 2 +2 = 170

b) Quel plus grand nombre peut tre reprsent par un octet ?


Il sagit de 1111 1111b = 255

c) Prouvez quavec un mot de n bits, on peut coder les nombres de 0 2n1

Si tous les bits sont 1, on a : 1


=0 2 = 2 1

d) Que se passe-t-il si on dcale dun bit vers la gauche, en rajoutant un 0 droite, tous les bits dun
mot exprim en base 2 ? Donnez un exemple avec 5d.
On multiplie le nombre par 2 : 5d = 0101b ; 10d = 1010b ; 20d = 1 0100b

3. Numrotation hexadcimale
a) Traduisez en notation dcimale les nombres FFh ; 10h ; 1Fh ; 1000h et 1234h
FFh = 255 ; 10h = 16 ; 1Fh = 31 ; 1000h = 4 096 ; 1234h = 4 660

b) Que pouvez-vous dire au sujet de loctet ?


FFh correspond la valeur maximale dun octet : cela code 8 bits : 1111 1111b

c) Donnez lcriture dcimale des nombres 76401h et BA9865h


76401h = 484 353 ; BA9865h = 12 228 709

4. Changement de base
a) Donnez lcriture dcimale des nombres 76401o et BA986512
5

76401o = 32 001 ; BA986512 = 11.12 + 10.12 + 9.12 + 8.12 + 6.12 + 5.12 = 2 961 293

b) Donnez la reprsentation en base 16 puis en base 2 des nombres 6725d et 18 379d


6725
5

16
420
4

16
26
10

6 725d = 1A45h ; 18 379d = 47CBh

16
1
1

18379 16
11
1148
12
16
0

16
71
7

16
4
4

16
0

Nom Prnom :

Corrig

Cours 1

c) Convertissez 1100011010b en base 16 et 7CF21 en base 2 sans passer par la base 10 !


0011 0001 1010b = 31Ah ; 7CF21h = 0111 1100 1111 0010 0001b

5. Entiers signs
a) Expliquez la mthode du complment deux pour les entiers exprims en 16 bits
16

16

Pour N > 0, on fait comme pour les entiers, mais pour les N < 0, on fait 2 + N ou encore 2 |N|

b) Comment sont reprsents les entiers 1d, 2d et 10d ?


-1d = 1111 1111 1111 1111 ; -2d = 1111 1111 1111 1110 ; -10d = 1111 1111 1111 0110

c) Comment se succdent les nombres relatifs (voir le livre page 105 ou 109 version Python) ?
Ben Voir le livre ! ! !

6. Exercice faire la maison


criture :
Binaire
Octale
Dcimale
Hexadcimale

101101011
356
492
1A2

Conversion en :
Binaire

Octale

Dcimale

Hexadcimale

101101011
11101110
111101100
110100010

553
492
754
642

363
238
492
418

16B
EE
1EC
1A2