Академический Документы
Профессиональный Документы
Культура Документы
Cours dalgorithmique
Mohamed El Marraki Modules M5 SMIA marraki@fsr.ac.ma
Plan
Introduction Systmes de numration et reprsentation des nombres
Systmes de numration Systme de numration dcimale Reprsentation dans une base b Reprsentation binaire, Octale et Hexadcimale Transcodage ou changement de base
Codage dinformation
Les informations traites par les ordinateurs sont de diffrentes natures :
nombres, texte, images, sons, vido, programmes,
Dans un ordinateur, elles sont toujours reprsentes sous forme binaire (BIT : Binary digIT)
une suite de 0 et de 1
4
Codage dinformation : -DfinitionCodage de linformation : permet dtablir une correspondance qui permet sans ambigut de passer dune reprsentation (dite externe) dune information une autre reprsentation (dite interne : sous forme binaire) de la mme information, suivant un ensemble de rgle prcise. Exemple : * Le nombre 35 : 35 est la reprsentation externe du nombre trente cinq * La reprsentation interne de 35 sera une suite de 0 et 1 ( 100011 )
(Elment binaire
Codage de physique llment
Etat physique)
binaire par un tat
(bit 0)
Frquences (Modem) : dans un signal sinusodal Frquence f1 (bit 1) : s(t) = a sin ( 2f1 t + ) Frquence f2 (bit 0) : s(t) = a sin ( 2f2 t + )
.
7
Systme de numration
Systme de numration dcrit la faon avec laquelle les nombres sont reprsents. Un systme de numration est dfini par : Un alphabet A : ensemble de symboles ou chiffres, Des rgles dcritures des nombres : Juxtaposition de symboles
8
Lorsquun symbole est plac la droite dun symbole plus fort que lui, sa valeur sajoute : CCLXXI 271 Lorsquun symbole est plac la gauche dun symbole plus fort que lui, on retranche sa valeur : CCXLIII 243 On ne place jamais 4 symboles identique la suite : 9 scrit IX et non VIIII La plus grand nombre exprimable est : 3999 (MMMCMXCIX) Systme inadapt au calcul
9
10
11
12
13
A = {0,1,2,3,4,5,6,7,8,9} Le nombre 10 est la base de cette numration Cest un systme positionnel. Chaque position possde un poids. Par exemple, le nombre 4134 scrit comme :
4134 = 4 x 103 + 1 x 102 + 3 x 101 + 4 x 100
14
17
2 18 2 0 0 9 1
73(10) = 1001001(2)
2 4 0 2 2 0
2 1 1
2 0
20
Dcimale
Binaire
On prend les restes de la division successive de n par 2, Exemple: 4321 2 1 2160 2 0 1080 2 0 540 2 0 270 2 0 135 2 1 67 2 1 33 2 1 16 0 432110 =10000111000012
2 8 0
2 4 2 0 2 0
2 1
21
Soit N le nombre dtudiants dune classe reprsent en base dcimale par : N = 73(10) Reprsentation en Octale?
73 1 8 9
8 8 1 1 1 0
73(10) = 111(8)
22
73(10) = 49(16)
23
Dcimale
Hexadcimale
On prend les restes de la division successive de n par 16, Exemple: 4321 16 1 270 16 14 16 16 0 1
432110 =10E116
24
Exemple :
10010(2) = ?(8) 10010(2) =24+2(10)=18(10)=2*81+2*80(10)=22(8)
25
Binaire
Exemple :
Dcimale
On utilise la formule,
= 128 + 16 + 8 + 2
= 15410
26
28
0 1 2 3 4 5 6 7
8 9 A B C D E F
30
1010011101(2)=669(10)
31
Binaire
Octale
On regroupe les bits par blocs de trois en allant vers la gauche (on complte par des zro a gauche si ncessaire), Exemple :
n = 101101011001112 = 010 110 101 100 111 = 2 6 5 4 7
= 265478
32
1010011101(2)= 1235(8)
33
Binaire
Hexadcimale
On regroupe les bits par blocs de quatre en allant vers la gauche (on complte par des zro a gauche si ncessaire), Exemple : n = 101101011001112 = 0010 1101 0110 0111 = 2 D 6 7 = 2D6716
34
1010011101(2)= 29D(16)
Hexadcimale
Binaire
Chaque chiffre sera remplac par un bloc de quatre bits ( linverse de la mthode prcdente), Exemple :
A 1 7 B n = A17B16 = 1010 0001 0111 1011 = 10100001011110112
36
Exercice
37
Correction de lexercice
Dcimale 10 100 101 500 Binaire 00001010 01100100 01100101 11111010 0 Hxa. 0A 064 065 1F4 Octale 012 144 145 764
38
Plan
Introduction Systmes de numrotation et Codage des nombres
Systmes de numrotation Systme de numration dcimale Reprsentation dans une base b Reprsentation binaire, Octale et Hexadcimale Transcodage ou changement de base
39
42
Arithmtique en base 2
Les oprations sur les entiers sappuient sur des tables daddition et de multiplication : Addition 0 0 1 1 0 1 0 1 0 1 1
(1)
Multiplication 0 0 1 0
Retenu
0 1 0 1
0 0 0 1
44
Addition
la rgle en binaire est : 0 0 1 1 1 + + + + + 0 1 0 1 1 = = = = + 0, 1, 1, 0 avec 1 comme retenue 1 = 1 avec 1 comme retenue.
1 1 1 1
Exemple :
1 1 0 1 0 1 1 0 02 + 1 1 1 0 0 1 0 1 12 = 1 1 0 1 1 1 0 1 1 12
Exemple (Addition)
Addition binaire (8 bits) 10010110 + 01010101 11101011 Addition binaire (8 bits) avec overflow) : 10010110 + 01110101 100001011
overflow
(dbordement ou
46
Exemples
Multiplication binaire
1 0 1 1 (4 bits) * 1 0 1 0 (4 bits) 0000 1011 . 0000. 1011 . 4 bits 0 1 1 0 1 1 1 0 Surfaux le rsultat est
Sur 7 bits le rsultat est juste Sur 8 bits on complte gauche par un 0
47
48
Codage des nombres relatifs -Binaire signLe bit le plus significatif est utilis pour reprsenter le signe du nombre : si le bit le plus fort = 1 alors nombre ngatif si le bit le plus fort = 0 alors nombre positif Les autres bits codent la valeur absolue du nombre
Exemple : Sur 8 bits, codage des nombres -24 et 128 en (bs) -24 est cod en binaire sign par : 1 0 0 1 1 0 0 0(bs) -128 hors limite ncessite 9 bits au minimum
49
50
Entiers relatifs
Malheureusement, avec cette reprsentation, une soustraction de deux nombres a-b ne pourra pas se faire par laddition de a et -b. En effet, avec ce codage, -5 serait cod sur 8 bits par 10000101 et si on effectue lopration 9+(-5), on obtient comme rsultat 00001001 + 10000101 = 10001110 soit -14 et non 4 !
51
Limitation :
deux codages diffrents pour 0 (+0 et -0) Sur 8 bits : +0=0 0 0 0 0 0 0 0(c1) et -0=1 1 1 1 1 1 1 1(c1) Multiplication et laddition sont moins videntes.
55
Le bit le plus significatif est utilis pour reprsenter le signe du nombre Exemple : -24 en complment 2 sur 8 bits
24 est cod par 0 0 0 1 1 0 0 0(2) -24 1 1 1 0 0 1 1 1(c1) donc -24 est cod par 1 1 1 0 1 0 0 0(c2)
58
Etendu de codage :
Avec n bits, on peut coder de -(2n-1) (2n-1-1) Sur 1 octet (8 bits), codage des nombres de -128 127 +0 = 00000000 -0=00000000 +1 = 00000001 -1=111111111 +127= 01111111 -128=10000000
59
Code Complment 2 -ExercicesCalculer : 1 2 en complment 2 sur 8 bits 1 = 0000 0001 -2 = 1111 1110 1-2 = 1+(-2) : 0000 0001 + 1111 1110 = 1111 1111 On obtient -1
61
62
63
64
Codage en Virgule Flottante -Normalisationx = 1,M . 2Eb Le signe est cod sur 1 bit ayant le poids fort :
le signe : bit 1 Le signe + : bit 0
Mantisse normalis(M)
Normalis : virgule est plac aprs le bit 1 ayant le poids fort M est cod sur q bits Exemple : 11,01 1,101 donc M =101 SM Eb 1bit p bits M q bits
67
E
8 bits
M
23 bits
Double prcision sur 64 bits : 1 bit de signe de la mantisse 11 bits pour lexposant 52 bits pour la mantisse
SM
1bit
E
11 bits
M
52 bits
68
01000010000011100000000000000000(IEEE 754
SP)
Eb
69
01000000111100000000000000000000 01000000111100000000000000000000(IEE
Eb
E 754 SP)
S = 0, donc nombre positif Eb = 129, donc exposant = Eb-127 = 2 1,M = 1,111 + 1,111 . 22(2) = 111,1(2) = 7,5(10)
70
environ 2+128
environ 2+1024
71
75
76
1 229 866 575 ; 1 380 794 708 ; 1 230 067 013 (base 10)
nombres en flottant simple prcision (32 bits) + (1,10011100100011001001111) . 219 ; + (1,10011010100000101010100) . 237 ; + (1,10100010101010101000101) . 219 ;
844 900,9375; 220 391 079 936 ; 857 428,3125 (base 10)
77
Mon fils,
78
On obtient donc pour toute limage un quadrillage comme celui montr ci-dessous pour une partie
80
Image en couleur vrai (True Color : 16 millions de couleurs) 3 octets (24 bits) pour chaque pixel
81
Suite de 0 et de 1
83