You are on page 1of 23

Objectif de ce chapitre

Conception de circuits numriques sur FPGA

Maitriser lutilisation du systme de numration binaire utilis dans les ordinateurs


Les bases
Systme de numration positionnelle Dcimale, Dcimale binaire et hexadcimale Conversion de base

Chap. Chap 2 : Systme de numration binaire


Dr. Abdelhakim Kh D Abd lh ki Khouas
Email : akhouas@umbb.dz
Dpartement de Physique Facult des Sciences Universit de Boumerds

Codage binaire des entiers naturels (non signs) Codage binaire des entiers relatifs (signs)
Signe et valeur Complment un Complment deux Virgule fixe Virgule flottante Codage IEEE-754 C d IEEE 754

Codage binaire des rels

Conception sur FPGA - Chap. 2

A. Khouas

Plan
Introduction 1. Codage des entiers naturels
1. 2. 3. 4. Codage dcimal g Codage binaire Codage hexadcimal Autres codages

Introduction

Cest quoi un systme de numration ?


Cest la mthode utilise pour reprsenter les nombres dans le but de le identifier, de le m nip le et de les b t les identifie les manipuler le sauvegarder

2. 3. 3

Conversion de base Oprations binaires O b


1. 2. 3. Addition Multiplication Problmatique du nombre fixe de bits Codage signe et valeur Complments 1 Complment 2 Codage excdant 2n-1-1 Virgule fixe Virgule flottante Reprsentation IEEE-754

4. 4

Codage des nombres ngatifs


1. 2. 3. 4.

5.

Codage des nombres rels C d d b l


1. 2. 3.

Comme les nombres sont infinies, il est difficile d associer dassocier un symbole diffrent chacun dentre eux d entre
==> systme de numration base et positionnelle

Conclusion

Conception sur FPGA - Chap. 2

A. Khouas

Conception sur FPGA - Chap. 2

A. Khouas

1. Codage des entiers naturels


Systme de numration base et positionnelle
Une base b signifie quon dispose de b symbole ou chiffres pour reprsenter les nombres Dans un nombre chaque position a un poids donn

1. Codage des entiers naturels


On a:

N = ak ak 1...a1a0 b = ai * bi
i =0

avec

0 ai b

Tout nombre entiers N peut tre reprsent dans nimporte quelle base b par :

Quelques caractristiques du systme bas positionnel


Les zros (0) gauche de la partie entire ne change rien au nombre
00XYb = 0XYb = XYb

N = ak ak 1...a1a0 b = ai * bi
i =0
Base b Puissance de b

avec

0 ai b

Pour nimporte quelle base b, on a :


10b = b, 100b = b2, 1000b = b3,
A. Khouas

Conception sur FPGA - Chap. 2

A. Khouas

Conception sur FPGA - Chap. 2

1. Codage des entiers naturels


Les b L bases les plus utilises sont : l l tili t
Base 10 ou codage dcimal
Utilise par lhomme qui na que 10 doigts

1.1 Codage dcimal (base 10)


Le codage dcimal utilise 10 symboles ou chiffres
Exemple des chiffres : 0,1,2,3,4,5,6,7,8,9

Base 2 ou codage binaire


Utilise par la machine qui ne comprend que le 1 et 0

Tout nombre entiers N peut tre reprsent en base 10 k par : i


N = ak ak 1...a1a0 10 = ai * 10
i= 0

avec

0 ai 9

Exemples :
73110 = 1*100 + 3*101 + 7*102 = 1 + 30 + 700 13710 = 7*100 + 3*101 + 1*102 = 7 + 30 + 100 31710 = 7*100 + 1*101 + 3*102 = 7+ 10 + 300
Conception sur FPGA - Chap. 2
7

Base 16 ou codage hexadcimal


Pour faciliter la communication entre lhomme et lordinateur

Conception sur FPGA - Chap. 2

A. Khouas

A. Khouas

1.2 Codage binaire (base 2)


Le codage binaire utilise 2 symboles ou chiffres (0,1) Tout nombre entiers N peut tre reprsent en base 2 par : k
N = ak ak 1...a1a0 2 = ai * 2i
i= 0

1.3 Codage hexadcimal (base 16)

Le codage hexadcimal utilise 16 symboles ou chiffres


Exemple des chiffres : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F p , , , , , , , , , , , , , , ,

avec

0 ai 1

Exemples :
11012 = 1*20 + 0*21 + 1*22 + 1*23 = 1 + 0 + 4 + 8 = 1310 11002 = 0*20 + 0*21 + 1*22 + 1*23 = 0 + 0 + 4 + 8 = 1210 10102 = 0*20 + 1*21 + 0*22 + 1*23 = 0 + 2 + 0 + 8 = 1010 0 2 1 2 0 2 1 2
Conception sur FPGA - Chap. 2
8

Tout nombre entiers N peut tre reprsent en base 16 k par : i


N = ak ak 1...a1a0 16 = ai * 16
i =0

avec

0 ai F

avec A = 10, B = 11, C = 12, D = 13, E = 14 et F = 15


Conception sur FPGA - Chap. 2 A. Khouas

A. Khouas

1.3 Codage hexadcimal (base 16)


N = ak ak 1...a1a0 16 = ai * 16
i =0 k

1.3 Codage hexadcimal (base 16)


Inconvnients du codage binaire

avec

0 ai 9

avec A = 10, B = 11, C = 12, D = 13, E = 14 et F = 15

a prend beaucoup de place crire Difficile lire et crire (risque lev de faire une erreur)
Exemple : E l
97652410 = 111011100110100011002

Exemples :
10116 = 1*160 + 0*161 + 1*162 = 1 + 0 + 256 = 25710 CBA16 = 10*160 + 11*161 + 12*162 = 10 + 176+ 3072= 325810 5FF16 = 15*160 + 15*161 + 5*162 = 15 + 240+ 1280 = 153510

Avantage du codage hexadcimal


a prend moins de place crire Facile lire et crire
Exemple :
97652410 = 111011100110100011002 = EE68C16

Conversion facile avec le binaire (voir section suivante)


Conception sur FPGA - Chap. 2
11

Conception sur FPGA - Chap. 2

10

A. Khouas

A. Khouas

1.4 Autres codages


ASCI (8 bits)
Pour l codage des caractres P le d d t

1.4 Autres codages


Dcimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binaire 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hexa 0 1 2 3 4 5 6 7 8 9 A B C D E F BCD 0000 0001 0011 0011 0100 0101 0110 0111 1000 1001 00010000 00010001 00010010 00010011 00010100 00010101
13

Codage BCD
Pour l codage direct des nombres dcimaux (sans passer les P le d di t d b d i ( l divisions successives par 2 ou les multiplications par les puissances de 2)

Codage Gray
Codage binaire ne permettant que la modification dun seul bit lors du passage dun nombre n au nombre (n+1) l d d b b ( 1)

Codage Unicode (16 bits)


Pour l codage des caractres i l P le d d t incluant les caractres avec accent tl t t
Conception sur FPGA - Chap. 2
12

Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

Comparaison des diffrents codages des nombres non signs


A. Khouas

A. Khouas

Conception sur FPGA - Chap. 2

2. Conversion de base
Dcimal --> Binaire
Division successives par 2
Poids f ibl P id faible
53 2 1 26 2 0 13 1

2. Conversion de base
Dcimal --> Hexadcimal
Divisions successives par 16
Fin des divisions
2 6 0 2 3 1 197 16

Poids faible Poids fort, 1210=C16

12

12 12

16 0

Fin des divisions

5310 = 1101012

Poids fort

2 1 1

2 0

19710 = C516

Binaire -->Dcimal Bi i D i l
Multiplication par les puissance de 2 11012 = 1*20 + 0*21 + 1*22 + 1*23 = 1+4+8 = 1316
Conception sur FPGA - Chap. 2
14

Hexadcimal -->Dcimal
Multiplication par les puissances de 16 23E16 = 14 160 + 3 161 + 2 162 = 14 + 48 + 512 = 57410 14*16 3*16 2*16
A. Khouas Conception sur FPGA - Chap. 2
15

A. Khouas

2. Conversion de base
Hexadcimal --> Binaire
Conversion en binaire spar de chaque symbole
1 0 0 1 1 0 1 1 0 1 0 4 D A

3. Oprations binaires

Binaire -->Hexadcimal >Hexadcimal


Regroupage par 4 des bits en commenant par le bit de p poids faible, et conversion en binaire de chaque groupe q g p
5 0 1 0 1
Conception sur FPGA - Chap. 2

Les oprations daddition et de multiplication des d addition nombres binaires non signs sont effectues de la mme faon que les oprations daddition et de multiplication des nombres dcimaux

F 1 1 1 1
A. Khouas Conception sur FPGA - Chap. 2
17

1 0 1 1
16

A. Khouas

3.1 Addition
Retenues

3.1 Addition
Retenues

1 1 + 1 0 0

1 1 1 1 1 1 0 0 1 1 +

1 1 4 7 2 1 + = 1

1 B C 8

1 A 8 3 1 F 0 + = 2977 3215 6192

Addition binaire

Addition dcimale

Addition hexadcimale

Addition dcimale

Mthode daddition des nombres binaires d addition


Conception sur FPGA - Chap. 2
18

Mthode daddition des nombres hexadcimaux d addition


A. Khouas Conception sur FPGA - Chap. 2
19

A. Khouas

3.2 Multiplication

3.3 Problmatique du nombre fixe de bits


Les microprocesseurs et les calculateurs ont toujours un nombre limite de bits (8, 16, 32, 64 bits) pour stocker les nombres
==> problme de dpassement de capacit lors daddition de nombres trs grands

5 x 6 x

1 1 0 + + 1 1 1 0 1 0 1 1

0 1 0 1 . 1

1 0 0 . . 0

0 * 101 1* 101 + dcalage gauche 1* 101 + 2 dcalage gauche

30

Solution :
Utilisation dun bit spcial appel bit de retenue (Carry) pour sauvegarder la dernire retenue en cas de dpassement de capacit p
Conception sur FPGA - Chap. 2
21

Mthode de multiplication des nombres binaires


Conception sur FPGA - Chap. 2
20

A. Khouas

A. Khouas

3.3 Problmatique du nombre fixe de bits


Ou sauvegarder la dernire retenue ? Bit de retenue (carry) dans le registre des flags
185 + = 104 33 289

4. Codage des nombres ngatifs


Dans le systme dcimal, le signe dun nombre est indiqu par le symbole + ou qui se trouve gauche du nombre Dans le systme binaire, p y pour un nombre cod sur n bits (an-1, ----,a1, a0), le signe dun nombre est indiqu par la valeur du bit le plus gauche (an-1) 1
an-1 = 0 ==> nombre positif an 1 = 1 ==> nombre ngatif g n-1
Conception sur FPGA - Chap. 2
23

1 + =

1 1 0 0

1 0 1 0

1 1 1 1

1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1

Addition binaire sur 8 bits

Addition dcimale

Exemple daddition sur 8 bi d d E l d ddi i bits de deux nombres bi i b binaires


Conception sur FPGA - Chap. 2
22

A. Khouas

A. Khouas

4. Codage des nombres ngatifs

4.1 codage signe et valeur


Pour un nombre cod sur n bits (an-1, ----,a1, a0)
Le bit an-1 indique le signe du nombre les (n-1) bits an-2, ----,a1, a0 indique la valeur absolue du nombre Pour un codage sur n bits les valeurs reprsentes sont n-1 n-1 dans lintervalle [-2 -1, +2 -1] Il existe deux codes pour la valeur 0 qui sont : 00 00.....0 et 0 10..0

Il existe plusieurs mthodes de codage des nombres ngatifs :


Codage Codage Codage Codage signe et valeur en complment 1 C@1 en complment 2 C@2 excdant-2n-1 excdant 2n 1

Conversion signe et valeur ==> dcimal: C i i t l d i l


Z = an 1an 2 ...a1a0
sv

= (1) an1 * ai * 2i )
i= 0

n2

avec

0 ai 1
A. Khouas

Conception sur FPGA - Chap. 2

24

A. Khouas

Conception sur FPGA - Chap. 2

25

4.1 codage signe et valeur


Z = a7 a6 ...a1a0 = (1) a7 * ai * 2i
i =0 6

4.1 codage signe et valeur


avec 0 ai 1
+ a7 a6 a5 a4 a3 a2 a1 a0 1 1 0 1 0 1 0 1 -85 = 3 8 11 00000011 +00001000 =00001011 + (-3) (-8) 10000011 +10001000 =10001011

sv

a7 a6 a5 a4 a3 a2 a1 a0 +85 0 1 0 1 0 1 0 1

= (-11)

Copie du bit de signe

(-3) Bit de signe (+) Valeur absolue 1+4+16+64 85 1+4+16+64=85 Bit de signe (-) + = 8 5

1 0 0 0 0 0 1 1 + 0 0 0 0 1 0 0 0 = ?? ? ? ? ? ? ?

3 + (-8) = ( 5) (-5)

0 0 0 0 0 0 1 1 + 1 0 0 0 1 0 0 0 = ?? ? ? ? ? ? ?

Problmatique daddition des nombres de signes diffrents !!!

Exemple de codage signe et valeur sur 8 bits E l d d i l bi


Conception sur FPGA - Chap. 2
26

Addition et soustraction sur 8 bits avec le codage signe et valeur


A. Khouas Conception sur FPGA - Chap. 2
27

A. Khouas

4.1 codage signe et valeur


Avantages du codage signe et valeur
Reprsentation semblable au codage des nombres signs en dcimal Reprsentation facile comprendre et manipuler p p p Opration dinversion trs facile implmenter (changement seulement de bit de signe)

4.2 codage en complment 1


Pour un nombre cod sur n bits (Z=an-1, ----,a1, a0), on a: n
1. 1er cas : an-1 = 0
le nombre Z est positif et les n bits an-1, an-2, ,a1, a0 indique la valeur a absolue du nombre :

Inconvnients du codage signe et valeurs


Oprations daddition et de soustraction difficile implmenter en matriel i l i l La valeur 0 a deux codes

Z C @1 = Z 2
2. 2me cas : an 1 = 0 n-1
le nombre Z est ngatif et on :

==> solution : Codage en complments 1 l ti C d l t


Conception sur FPGA - Chap. 2
28

Z C @1 = ( Z ) 2
A. Khouas Conception sur FPGA - Chap. 2
29

A. Khouas

4.2 codage en complment 1


Formule mathmatique de calcul de la valeur dcimale dun nombre cod en complment 1 :
Z = an 1an 2 ...a1a0 C @1 = ( ai * 2i ) an 1 2n 1 + 1 @
i= 0 n2

4.2 codage en complment 1


a7 a6 a5 a4 a3 a2 a1 a0 0 1 0 1 0 1 0 1 Nombre positif ======> > a7 a6 a5 a4 a3 a2 a1 a0 1 1 0 1 0 1 0 1 Nombre ngatif ==> Inversion logique gq

avec 0 ai 1

Conversion complment 1 ==> dcimal :


Nombres positifs : N b itif
Conversion binaire dcimal (multiplication par les puissances de 2)

Conversion dcimale

0 0 1 0 1 0 1 0 == => Conversion en dcimal

= 1+4+16+64 = 85 85

= 2+8+32 = 42 == => Multiplication par ( 1) (-1)

Nombres ngatifs : 3 tapes

Calcul du complment logique (inverse logique) Conversion binaire dcimal Multiplication par (-1) p p ( )
A. Khouas

= -42

Exemples de conversion du C@1 vers dcimal


Conception sur FPGA - Chap. 2
30

Conception sur FPGA - Chap. 2

31

A. Khouas

4.2 codage en complment 1

4.2 codage en complment 1


Nombre positif Nombre ngatif -43 43 ==> Multiplication par (-1)

Conversion dcimal ==>complment 1 :


Nombres positifs :
Conversion dcimal binaire (divisions successives par 2)

43 ===== ====> Conversion en binaire Par division successives

43 ==> > Conversion en binaire

Nombres ngatifs : 3 tapes


Multiplication par (-1) Conversion dcimal binaire Calcul du complment logique (inverse logique) l ld l l ( l )

0 0 1 0 1 0 1 1 Attention !!! Vrifier quon a bien 0, sinon on a dpassement de capacit.

0 0 1 0 1 0 1 1 == => Inversion logique nve sion

1 1 0 1 0 1 0 0

Exemples de conversion du dcimal vers C@1


Conception sur FPGA - Chap. 2
32

A. Khouas

Conception sur FPGA - Chap. 2

33

A. Khouas

4.2 codage en complment 1


Ajout de la retenue sortante au rsultat de laddition

4.2 codage en complment 1


Ajout de la retenue sortante au rsultat de laddition

3 + = 8 11

0 0 0 0 0 0 1 1 + 0 0 0 0 1 0 0 0 = 0 0 1 1 1 0 1 1

(-3) + (-8) = (-11)

1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 0 = 1 1 1 1 0 + = 1 1 1 1 0

1 00 1 11 0 11 1 1 00

1 1 1 3 + (-8) ( 8) = (-5) 0 0 0 0 0 0 1 1 + 1 1 1 1 0 1 1 1 = 1 1 1 1 1 0 1 0

(-3) ( 3) + 8 = 5

1 1 1 1 1 1 1 1 1 + 0 0 0 0 = 0 0 0 0 + = 0 0 0 0

1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1

Addition en C@1 de deux nombres positifs

Addition Additi en C@1 de d d deux nombres ngatifs

Addition en C@1 de deux nombres de signes diffrents (1er cas)

Addition en C@1 de deux nombres de signes diffrents (2me cas)

Addition et soustraction sur 8 bits avec le codage C@1


Conception sur FPGA - Chap. 2
34

Addition et soustraction sur 8 bits avec le codage C@1


A. Khouas Conception sur FPGA - Chap. 2
35

A. Khouas

4.2 codage en complment 1


Avantages du codage en complment 1
Oprations daddition et de soustraction plus facile que pour le codage signe et valeur

4.3 codage en complment 2


Linconvnient majeur du codage en complment 1 j g p est le fait dajouter un 1 au rsultat daddition et de soustraction On remarque que pour nimporte quel nombre Z, on a : q q p p q ,
Z + Z = 1...1 Comm on utilise un nombre fixe de bit, on a : bit Z + Z + 1 = 0...0 (on ignore la retenue) Z = Z + 1
A. Khouas Conception sur FPGA - Chap. 2
37

Inconvnients du codage en complment 1


La l L valeur 0 a deux codes d d Ajout dune tape daddition de 1 pour les oprations d addition daddition et de soustraction

==> solution : Codage en complments 2 >


Conception sur FPGA - Chap. 2
36

A. Khouas

4.3 codage en complment 2


Pour un nombre cod sur n bits (Z=an-1, ----,a1, a0), on a: ( ) n1
1. 1er cas : an-1 = 0
le nombre Z est positif et les n bits an-1, an-2, ,a1, a0 indique la valeur a absolue du nombre :

4.3 codage en complment 2


Formule mathmatique de calcul de la valeur dcimale du complment 2 dcimal :
Z = an 1an 2 ...a1a0 C @1 = ( ai * 2i ) an 1 2n 1 @
i= 0 n2

avec 0 ai 1

ZC @ 2 = Z 2
2. 2me cas : an-1 = 0 n1
le nombre Z est ngatif et on :

Conversion complment 2 ==> dcimal :


Nombres positifs : N b itif Nombres ngatifs : 4 tapes
Conversion binaire dcimal (multiplication par les puissances de 2) Calcul du complment logique (inverse logique) Addition avec +1 Conversion binaire dcimal Multiplication par (-1) p p ( )
A. Khouas

Z C @ 2 = ( Z + 1) 2
Conception sur FPGA - Chap. 2
38

A. Khouas

Conception sur FPGA - Chap. 2

39

4.3 codage en complment 2


a7 a6 a5 a4 a3 a2 a1 a0 0 0 1 1 0 1 0 1 Nombre positif ======> > 27 ===== ====>
42

4.3 codage en complment 2

1 1 1 1 0 1 0 1 Nombre ngatif ==> ==> Inversion logique

Conversion dcimal ==> complment 2 :


Nombres positifs :
Conversion dcimal binaire (divisions successives par 2)

0 0 0 0 1 0 1 0 +1

Conversion dcimale

0 0 0 0 1 0 1 1 ==> Conversion dcimale

Nombres ngatifs : 4 tapes


Multiplication par (-1) Soustraction de -1 Conversion d dcimal binaire lb Calcul du complment logique (inverse logique)

= 1+4+16+32 ==> 53
Conception sur FPGA - Chap. 2
40

= 1+2+8 = 11 ==> = -11 Multiplication par (-1)

Exemples de conversion du C@2 vers dcimal


A. Khouas Conception sur FPGA - Chap. 2
41

A. Khouas

4.3 codage en complment 2


Nombre positif Nombre ngatif -27 27 ==> Multiplication par (-1)

4.3 codage en complment 2


On ignore la retenue de sortie

Conversion en binaire Par division successives

27 Soustraction de 1 + = 3 8 11 0 0 0 0 0 0 1 1 + 0 0 0 0 1 0 0 0 = 0 0 1 1 1 0 1 1 (-3) + (-8) = (-11) ==> 26 ==> Conversion en binaire

0 0 0 1 1 0 1 1 Attention !!! Vrifier quon a bien 0, sinon on a dpassement de capacit.

1 1 1 1 1 1 1 1 1 1 1 0 1 + 1 1 1 1 1 0 0 0 = 1 1 1 1 0 1 0 1

0 0 0 1 1 0 1 0 ==> Inversion logique

Addition en C@2 de deux nombres positifs

Addition en C@2 de deux nombres ngatifs

1 1 1 0 0 1 0 1

Exemples de conversion du dcimal vers C@2


Conception sur FPGA - Chap. 2 A. Khouas

Addition et soustraction sur 8 bits avec le codage C@2


Conception sur FPGA - Chap. 2
43

A. Khouas

4.3 codage en complment 2


On ignore la retenue de sortie

4.3 codage en complment 2


-127 + -125 = 3 1 1 1 1 1 1 1 1 1 1 1 0 1 + 0 0 0 0 1 0 0 0 = 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 + 1 0 0 0 0 0 1 1 = 0 0 0 0 0 0 1 1 65 + 66 = -125 0 1 0 0 0 0 0 1 + 0 1 0 0 0 0 1 0 = 1 0 0 0 0 0 1 1

3 + (-8) = (-5)

0 0 0 0 0 0 1 1 + 1 1 1 1 1 0 0 0 = 1 1 1 1 1 0 1 1

(-3) + 8 = 5

Somme de deux nombres ngatifs ==> nombre positif

Somme de deux nombres positifs ==> nombre positif

Addition en C@2 de deux nombres de signes diffrents (1er cas)

Addition en C@2 de deux nombres de signes diffrents (2me cas)

Mise 1 du bit de dpassement (overflow) dans le registre des flags

Addition et soustraction sur 8 bits avec le codage C@2


Conception sur FPGA - Chap. 2
44

Problmatique de d P bl i d dpassement d capacit (O fl ) de i (Overflow)


A. Khouas Conception sur FPGA - Chap. 2
45

A. Khouas

4.4 Codage excdant 2 -1


Pour un nombre relatif Z cod sur n bits en codage 1 excdant 2n-1-1 (Z=an-1, ----,a1, a0), on a :

n-1

4.4 Codage excdant 2 -1


Binaire 000 001 010 011 100 101 110 111 Non sign 0 1 2 3 4 5 6 7 Signe et valeur 0 1 2 3 0 -1 -2 2 -3 Codage @ c@1 0 1 2 3 -3 3 -2 -1 1 0 Codage c@2 @ 0 1 2 3 -4 4 -3 -2 2 -1 codage excdant-3 -3 -2 -1 0 1 2 3 4

n-1

Z E (2n1 1) = Z 2 (2

n 1

1) = ( ai 2 ) (2
i i =0

n 1

n 1

1)

Le codage excdant 2 -1 est utilis pour coder l exposant lexposant dans le codage virgule flottante des nombres rels
Conception sur FPGA - Chap. 2 A. Khouas

n-1

Comparaison des diffrents codages sur 3 bits de nombres ngatifs C i d diff t d bit d b tif
46

Conception sur FPGA - Chap. 2

47

A. Khouas

4.4 Codage excdant 2 -1


Binaire 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Codage Signe et Non sign valeur 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 0 9 -1 10 -2 11 -3 12 -4 13 -5 14 -6 6 15 -7 Codage c@1 0 1 2 3 4 5 6 7 -7 -6 -5 -4 -3 -2 -1 1 0
48

n-1

5. Codage des nombre rels


Codage c@2 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 2 -1 codage excdant-7 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8

Un nombre rel est compos de trois parties qui sont :


1. Le signe 2. La partie entire 3. 3 La partie fractionnelle

Comparaison des diffrents ff codages sur 4 bits de nombres ngatifs


A. Khouas

Il existe deux mthodes pour coder en binaire les p nombres rels


1. Codage virgule fixe : la position de la virgule est fixe pour tous les nombres 2. Codage virgule flottante : la position de la virgule change d un dun nombre un autre (flotte)
Conception sur FPGA - Chap. 2
49

Conception sur FPGA - Chap. 2

A. Khouas

5.1 Codage virgule fixe : nombres positifs


Codage des nombres rels positifs
Pour un nombre rel positif R (R=an-1, ,a1, a0 , a-1 , a-2 ,a-m+1, a-m) cod en virgule fixe sur n+m bits (not Qn+m,m ou Qm), on a : 1) an-1, ,a1, a0 est la partie entire (n bits) 2) a-1 , a-2 ,a-m+1, a-m est la partie fractionnelle (m bits )

5.1 Codage virgule fixe : nombres positifs


Codage Q12,4 ou Q4

a7 a6 a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 Partie entire (8 bits) Partie fractionnelle f (4 bits)

R12 4 = ai * 2i 12,4
i= 7

La valeur du nombre R est donn par :

RQm = (an 1an 2 ...a1a0 a1a2 ...a m +1a m )Qm = On a aussi : RQm
Conception sur FPGA - Chap. 2

i = m

a *2
i

n 1

Codage Q12,6 ou Q6

a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 a-5 a-6 Partie entire (6 bits) Partie fractionnelle ( 6 bits)

R2 = m 2
50

R12,6 = ai * 2i
i =5

Exemples de codage des nombre rels positifs en virgule fixe


A. Khouas Conception sur FPGA - Chap. 2
51

A. Khouas

5.1 Codage virgule fixe : nombres positifs


R = a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 a-5 a-6 Partie entire ( (6 bits) ) Partie fractionnelle ( (6bits) ) Codage virgule fixe Q12,6

5.1 Codage virgule fixe : nombres positifs


Codage virgule fixe Q12,6

R = ai * 2i
i= i =5

R = a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 a-5 a-6 Partie entire (6 bits) Partie fractionnelle (6bits)

R = ai * 2i
i=5

12.8175

0 0

0 1 0

1 0 0

1 0 0

0 1 1

0 0 1

0 0 1

0 1 0

0 1 0

1 0 0

0 0 0

0 0 0

8+4+0.0675 = 12.0675 16+2+0.25+0.125= 18.325 32+2+1+0.5= 35.5

1*23 + 1*22+ 1*2-1+1*2-2+1*2-4

8+4+0.5+0.25+0.0675

Exemples de codage des nombre rels positifs en virgule fixe Q12,6


Conception sur FPGA - Chap. 2
52

Exemples de codage des nombre rels positifs en virgule fixe Q12,6


Conception sur FPGA - Chap. 2
53

A. Khouas

A. Khouas

5.1 Codage virgule fixe : nombres positifs


Exemple de codage virgule fixe sur 8 bits Q8,3 (ou Q3)
La l L valeur du nombre R est d d b t donn par :

5.1 Codage virgule fixe : nombres ngatifs


Codage des nombres rels ngatifs g g
Comme pour les nombres relatifs, il existe plusieurs mthodes de codage des nombres rels ngatifs en utilisant la virgule fixe
Virgule fixe signe et valeur Virgule fixe complment 1 gu e e co p e t Virgule fixe complment 2 Autres

RQ 8,3 = a4 a3 a2 a1a0 a1a2 a3 = ai * 2i ,


i=3

Les valeurs quon peut reprsenter sont dans lintervalle

00000000,11111111 0 0 31 875 [00000000 11111111]Q 5,3 = [0.0,31.875]10


Exemples :
00000000Q3 = 010 11111111Q3 = 31.87510 00001100Q3 = 1.510 0011110Q3 = 3 7510 3.75
Conception sur FPGA - Chap. 2
54

Comme pour les nombres relatifs, la mthode la plus utilise est la mthode virgule fixe complment 2
A. Khouas Conception sur FPGA - Chap. 2
55

A. Khouas

5.1 Codage virgule fixe : nombres ngatifs


Codage des nombres rels ngatifs en C@2
Pour un nombre rel ngatif R (R=an-1, ,a1, a0 , a-1 , a-2 ,a-m+1, a-m) cod en virgule fixe sur n+m bits (not Qn+m,m ou Qm), on a : 1) an-1 est le bit de signe ( 1 bit) 2) an-2, ,a1, a0 est la partie entire (n-1 bits) 3) a-1 , a-2 ,a-m+1, a-m est la partie fractionnelle (m bits )

5.1 Codage virgule fixe : nombres ngatifs


Codage virgule fixe Q12,4 ou Q4

R = a7 a6 a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 Bit de signe g (1 bits) Partie entire (7 bits) Partie fractionnelle f (4 bits)

R=

RC @ 2 24

La valeur du nombre R en C@2 est donn par :


R = (an 1an 2 ...a1a0 a1a2 ...a m +1a m )C @ 2,Qm = ( ai * 2i ) (ai * 2n 1 )
i = m n2

R = a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 a-5 a-6 Bit de signe (1 bits) Partie entire (5 bits) Partie fractionnelle ( 6 bits)

Codage virgule fixe Q12,6 ou Q6

R=

RC @ 2 26

On O a aussi : R = i

RC @ 2 2m
56

Exemples de codage des nombre rels en virgule fixe


A. Khouas Conception sur FPGA - Chap. 2
57

Conception sur FPGA - Chap. 2

A. Khouas

5.1 Codage virgule fixe : nombres ngatifs


R = a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 a-5 a-6 Partie entire (6 bits) Partie fractionnelle (6 bits) C@2 0 0 0 1 1 0 0 1 1 0 0 0 6.375 Codage virgule fixe Q12,6 et C@2

5.1 Codage virgule fixe : nombres ngatifs


R = a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 a-5 a-6 Partie entire (6 bits) Partie fractionnelle (6 bits) C@2 1 1 1 0 1 0 0 1 1 0 0 0 -5.625 Codage virgule fixe Q12,6 et C@2

R=

RC @ 2 2
6

R=

RC @ 2 26

Nombre positif

Nombre ngatif 1*22 + 1*21+ 1*2-2+1*2-3 4+2+0.25+0.125 0 0 0 1 0 1 1

Inversion logique + 1 0 1 0 0 0 -(4+1+0.5+0.125)

Exemples de codage des nombre rels en virgule fixe Q12,6 et C@2


Conception sur FPGA - Chap. 2
58

Exemples de codage des nombre rels en virgule fixe Q12,6 et C@2


Conception sur FPGA - Chap. 2
59

A. Khouas

A. Khouas

5.1 Codage virgule fixe : nombres ngatifs


R = a5 a4 a3 a2 a1 a0 a-1 a-2 a-3 a-4 a-5 a-6 Partie entire ( (6 bits) ) Partie fractionnelle ( (6 bits) ) C@2 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 8+4+0.0625 = 12.0625 -(2+1+0.25+0.125) = -3.325 -(4+1) = -5 Codage virgule fixe Q12 6 et C@2 12,6

5.1 Codage virgule fixe : nombres ngatifs


Exemple de codage virgule fixe et C@2 sur 8 bits avec 3 bits de partie fractionnelle Q8,3 (ou Q3)
La valeur du nombre R est donn par :

R=

RC @ 2 26

RQ 8,3 = a4 a3 a2 a1a0 a1a2 a3 = ( ai * 2i ) (a4 * 24 )


Les valeurs quon peut reprsenter sont dans lintervalle
i =3

[10000000, 01111111]Q 5,3 = [ 16.0,15.875]10


Exemples :
00000000Q3 = 010 11111111Q3 = -0.12510 00001100Q3 = 1.510 10111100Q3 = -8.510
Conception sur FPGA - Chap. 2 A. Khouas

Exemples de codage des nombre rels en virgule fixe Q12,6 et C@2


Conception sur FPGA - Chap. 2
60

A. Khouas

61

5.1 Codage virgule fixe : nombres ngatifs


Conversion virgule fixe C@2 ==> dcimal :
Nombres positifs :
Conversion binaire dcimal de la partie entire Conversion binaire dcimal de la partie fractionnelle

5.1 Codage virgule fixe : nombres ngatifs


a7 a6 a5 a4 a3 a2 a1 a0 0 0 1 1 0 1 0 1 Nombre positif ======> > 1 1 1 1 0 1 0 1 Nombre ngatif ==> ==> Inversion logique

0 0 0 0 1 0 1 0 +1

Conversion dcimale

Nombres ngatifs : 4 tapes


Calcul du complment logique (inverse logique) -m Addition avec 001 (2 ) Conversion binaire dcimal des parties entire et fractionnelle Multiplication par (-1)

0 0 0 0 1 0 1 1 ==> Conversion dcimale

= 4+2+0.5+0.125 ==> 6.625

= 1+0.25+0.125=1.375 ==> Multiplication par (-1)

= -1.375

Exemples de conversion du la virgule fixe Q8,3 et C@2 vers dcimal


Conception sur FPGA - Chap. 2
62

A. Khouas

Conception sur FPGA - Chap. 2

63

A. Khouas

5.1 Codage virgule fixe : nombres ngatifs


Conversion dcimal ==> complment 2 :
Nombres positifs :
Conversion dcimal binaire de la partie entire Conversion dcimal binaire de la partie fractionnelle

5.1 Codage virgule fixe : nombres ngatifs


Nombre positif 4.25 4 25 ===== ====> Conversion en binaire Par division successives Nombre ngatif -4 25 4.25 ==> ==> Multiplication par (-1)

4.25 4 25 Conversion en binaire

Nombres ngatifs : 4 tapes


Multiplication par (-1) Conversion dcimal binaire Calcul du complment logique (inverse logique) Addition de 0001

0 0 1 0 0 0 1 0 Attention !!! Vrifier quon a bien 0, sinon on a dpassement de capacit.

0 0 1 0 0 0 1 0 ==> ==> Inversion logique

1 1 0 1 1 1 0 1 Addition de 1

1 1 0 1 1 1 1 0

Exemples de conversion du dcimal vers la virgule fixe Q8,3 et C@2


Conception sur FPGA - Chap. 2
64

A. Khouas

Conception sur FPGA - Chap. 2

65

A. Khouas

5.1 Codage virgule fixe : nombres ngatifs


On ignore la retenue de sortie

5.1 Codage virgule fixe : nombres ngatifs


On ignore la retenue de sortie

3.5 + 8.25 = 11 75 11.75

0 0 0 1 1 1 0 0 + 0 1 0 0 0 0 1 0 = 0 1 0 1 1 1 1 0

(-3.5) + (-8.25) = (-11 75) (-11.75)

1 1 1 1 1 1 1 1 1 0 0 1 0 0 + 1 0 1 1 1 1 1 0 = 1 0 1 0 0 0 1 0

3.5 + (-8.25) = (-4 75) (-4.75)

1 1 1 1 0 0 0 1 1 1 0 0 + 1 0 1 1 1 1 1 0 = 1 1 0 1 1 0 1 0

(-3.5) + 8.25 = 4 75 4.75

1 1 1 1 1 0 0 1 0 0 + 0 1 0 0 0 0 1 0 = 0 0 1 0 0 1 1 0

Addition en virgule fixe Q3 et C@2 de deux nombres de positifs (1er cas)

Addition en virgule fixe C@2 de deux nombres ngatifs (2me cas)

Addition en virgule fixe Q3 et C@2 de deux nombres de signes diffrents (1er cas)

Addition en virgule fixe C@2 de deux nombres de signes diffrents (2me cas)

Addition et soustraction sur 8 bits en codage virgule fixe Q8,3 et C@2


Conception sur FPGA - Chap. 2
66

Addition et soustraction sur 8 bits en codage virgule fixe Q8,3 et C@2


Conception sur FPGA - Chap. 2
67

A. Khouas

A. Khouas

5.1 Codage virgule fixe


Les avantages du codage virgule fixe
La i i L prcision est la mme pour tous les nombres et est fixe (prcision = tl t l b t t fi ( i i 1/2m+1) Opration daddition identique celle du codage des nombres relatifs Opration de multiplication proche de celle du codage des nombres relatifs

5.2 Codage virgule flottante


Reprsentation scientifique
Un nombre rel R peut tre reprsent sous la forme :
R = M *10 E M est l mantisse la i E est l'exposant

Les i L inconvnients du codage virgule fixe i t d d i l fi


Nombre limit de rels quon peut reprsenter (faible dynamique) Compromis entre la prcision et la dynamique (le nombre de rels quon peut reprsenter)

Reprsentation virgule flottante


Un nombre rel R peut tre reprsent sous la forme :

Solution ==> codage virgule flottante


Conception sur FPGA - Chap. 2
68

R = M * 2E M est la mantisse E est l'exposant


Conception sur FPGA - Chap. 2 A. Khouas

A. Khouas

69

5.2 Codage virgule flottante


R = a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant en C@2 (4 bits) M=Mantisse (7 bits) Codage virgule g g flottante sur 12 bits

5.2 Codage virgule flottante


R = a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant en C@2 (4 bits) M=Mantisse (7 bits) Codage virgule g g flottante sur 12 bits

R = (1) S * M * 2 E

R = (1) S * M * 2 E

1 -2

0 20

0
-4

1 7

0 3

1
7

Nombre positif

+20*2 = 1.25

Nombre ngatif

-3*2 = -384

Exemples de codage des nombre rels en virgule flottante


Conception sur FPGA - Chap. 2
70

Exemples de codage des nombre rels en virgule flottante


A. Khouas Conception sur FPGA - Chap. 2
71

A. Khouas

5.2 Codage virgule flottante


R = a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant en C@2 (4 bits) M=Mantisse (7 bits) Codage virgule g g flottante sur 12 bits

5.2 Codage virgule flottante


Reprsentation non normalise
Le mme nombre rel R peut avoir plusieurs reprsentations en virgule flottante 1.125 1 125 * 25 =11 25 * 24 =112 5 * 23 = =11.25 =112.5 ==>Diminution du nombre de rels quon peut reprsenter ( (faible dynamique) y q )

R = (1) S * M * 2 E

0 1 1

0 0 1

1 0 1

1 1 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

1 0 1

0 1 0

0 1 0

+4*2 = 128 -3*2 = -12 -4*2 = -0.25


-4 2

==> Reprsentation normalise de la mantisse


R = (-1)S * (1+ M)* 2 E = (-1)S (1.M)* 2 E 1.M est la mantisse normalise (0 M < 1) E est l'exposant
A. Khouas Conception sur FPGA - Chap. 2
73

Exemples de codage des nombre rels en virgule flottante


Conception sur FPGA - Chap. 2
72

A. Khouas

5.2 Codage virgule flottante


R = a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant en C@2 (4 bits) M=Mantisse (7 bits) Codage virgule g g flottante sur 12 bits

5.2 Codage virgule flottante


Codage virgule g g flottante sur 12 bits

R = a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant en C@2 (4 bits) M=Mantisse (7 bits)

R = (1) S *(1 + M ) * 2 E = (1) S *1.M * 2 E

R = (1) S *(1 + M ) * 2 E = (1) S *1.M * 2 E

1 -4

1
-3 3

0 =(1+0.125)*2 -4 4 =1.125* 2 = 0.0703125


-4

1 5

0
-1 1

0 2 +2

0
-7 7

1 =-(1+2 +2 )*2 5 4 -2 = -(2 + 2 +2 ) (2 =-(32+16+0.25) =-48.25


-1 -7 5

Nombre positif

2 =0.125

Nombre ngatif

Codage des rels en virgule flottante avec mantisse normalise


Conception sur FPGA - Chap. 2
74

Codage des rels en virgule flottante avec mantisse normalise


Conception sur FPGA - Chap. 2
75

A. Khouas

A. Khouas

5.2 Codage virgule flottante


R = a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant en C@2 (4 bits) M=Mantisse (7 bits) Codage virgule g g flottante sur 12 bits

5.3 Codage IEEE-754


Reprsentation IEEE-754 prcision simple (32 bits)
Les nombres rels sont reprsents avec : b l
1 bits de signe (s) 8 bits dexposant en codage excdant-127 (e) p g ( ) 23 bits de mantisse normalis (m)

R = (1) S *(1 + M ) * 2 E = (1) S *1.M * 2 E

0 1 1

0 0 1

1 0 1

1 1 0

0 0 0

0 0 0

0 0 1

0 0 0

0 0 0

1 0 0

0 1 0

0 1 0

(1+ 2 )*2 = 66 -(1+2 +2 )*2 = 4.09375 -(1+2 )*2 = -0.140625


-2 -4 -6 -7 2

-5

R = ( 1)S * 1.m 2 E (-1) 1 m* s : bit de signe 1.m : mantisse normalise (0 m < 1) e : exposant ( 127 e < 128) (-127
Conception sur FPGA - Chap. 2
77

Codage des rels en virgule flottante avec mantisse normalise


Conception sur FPGA - Chap. 2
76

A. Khouas

A. Khouas

5.3 Codage IEEE-754


Reprsentation IEEE-754 prcision simple (32 bits) IEEE 754
Si on considre e et m en codage non sign on a:

5.3 Codage IEEE-754


R = a31 a30 a29 a28 a27 a26 a25 a24 a23 a22 a21 a20 a19 a18 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant (8 bits) M=Mantisse (23 bits) bi )

R = (-1)S * (1 +

m2 ) * 2 e2 127 23 2 s : bit de signe m2 : mantisse en codage non sign

R = ( 1)s * (1.mQ 23 )* 2 e-127 (-1) (1 m = ( 1)s * (1 + (-1) m2 e 127 )* 2 e-127 23 2


A. Khouas

e2 : exposant en codage non sign


Conception sur FPGA - Chap. 2
78

Codage des rels en virgule flottante IEEE-754 prcision simple


A. Khouas Conception sur FPGA - Chap. 2
79

5.3 Codage IEEE-754


R1 = 0 1 Nombre positif 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0

5.3 Codage IEEE-754


Nombres spciaux
Nombres d-normaliss : lorsque e=00000000, on a :

127+8+4+1= 140

0.5+0.25+0.125+0.0625=0.9375

R = (-1)s * ( 0.m)* 2 -126


Zro : il y a deux valeurs de 0

R1= 65 F 80000ieee _ sp = (1.9375)* 2140-127 = 1.9375* 213 = 15872

+0 = 00000000ieee _ sp , 0 = 80000000ieee _ sp p p
R2 = 1 0 Nombre ngatif 1 1 0 0 0 0 0 1 0 0 0 0 0 0.5 0 0

Infini : lorsque e=11111111 et m=0

64+32= 96

+ = 7 F 800000ieee _ sp , = FF 800000ieee _ sp
NaN (Not a Number) : lorsque e=11111111 et m diff. de 0

R2 = B0600000ieee _ sp = (1.5)* 296 -127 = 1.5* 2 -31 = 6.9849*1010


A. Khouas

Codage des rels en virgule flottante IEEE-754 prcision simple


Conception sur FPGA - Chap. 2
80

+ + = 011111111bb...bbiieee _ sp , = 111111111bb...bbieee _ sp i
Conception sur FPGA - Chap. 2
81

A. Khouas

5.3 Codage IEEE-754


Reprsentation IEEE-754 prcision simple (32 bits)
Plus petite valeur : Plus grande valeur : Exemples E emples :

5.3 Codage IEEE-754

FF 7 FFFFFieee _ sp p

2* 2254127 = 2128

3.4*1038

7 F 7 FFFFFieee _ sp

2* 2254127 = 2128 3.4*1034

Conversion dcimal -->IEEE simple prcision

00400000 = 0.5*2-126 (formule 0.m car exposant = 00000000) 00880000 = 1.0625*2-126 10200000 = -0.25*2-126 (formule 0.m car exposant = 00000000) C0B00000 = -1.75*22 7F9D1234 = NaN
Conception sur FPGA - Chap. 2
82

A. Khouas

Conception sur FPGA - Chap. 2

83

A. Khouas

5.3 Codage IEEE-754


Reprsentation IEEE-754 prcision double (64 bits)
Les nombres rels sont reprsents avec : b l
1 bits de signe (s) 11 bits dexposant en codage excdant-1023 (e) p g ( ) 52 bits de mantisse normalis (m)

5.3 Codage IEEE-754


Reprsentation IEEE-754 prcision double (64 bits)
Si on considre e et m en codage non sign on a:

R = (-1)S * (1 +

R = ( 1)S * 1.m 2 E (-1) 1 m* s : bit de signe 1.m : mantisse normalise (0 m < 1) e : exposant ( 1023 e < 1024) (-1023
Conception sur FPGA - Chap. 2
84

m2 ) * 2 e2 1023 52 2 s : bit de signe m2 : mantisse en codage non sign

e2 : exposant en codage non sign


Conception sur FPGA - Chap. 2
85

A. Khouas

A. Khouas

5.3 Codage IEEE-754


R = a63 a62 a61 a60 a59 a58 a57 a56 a55 a54 a53 a52 a51 a50 a2 a1 a0 S=Bit de Signe (1 bits) E= Exposant (11 bits) M=Mantisse (52 bits) bi )

5.3 Codage IEEE-754


Reprsentation IEEE-754 double prcision (64 bits)
Plus tit Pl petite valeur : l
FFFFFFFFFFFFFFFFieee _ dp 2* 220461023 = 21024 1.8*10307

Plus grande valeur :


7 FFFFFFFFFFFFFFFieee _ dp 2* 220461023 = 21024 1.8*10307

e 1023 R = (-1)s * (1.m Q 52 )* 2 e-1023 ( 1) (1

= (-1)s * (1+
Conception sur FPGA - Chap. 2

m2 1023 )* 2e-1023 2 52
A. Khouas

Zro : deux valeurs 0000000000000000ieee _ dp = 8000000000000000ieee _ dp = 0 Infini :


+ = 7 FF 0000000000000ieee _ dp , = FFF 00000000000000ieee _ dp

NaN : lorsque e=11111111111 et m diff. de 0


7 FFHHHHHHHHHHHHH ieee _ dp = FFFHHHHHHHHHHHHH ieee _ dp = NaN
Conception sur FPGA - Chap. 2
87

Codage des rels en virgule flottante IEEE-754 prcision double


86

A. Khouas

Conclusion
Ce qui est important retenir :
Systme de numration bas et positionnel Codage des nombres non sign (entiers naturels)
Codage binaire Codage hexadcimal Additions binaire et hexadcimal

Codage des nombres signs (entiers relatifs)

Codage des nombres rels C d d b l


Codage virgule fixe Codage virgule flottante Codage IEEE-754 IEEE 754
88

Codage signe et valeur g g Codage en complment 1 Codage en complment 2 Problme de dpassement de capacit (overflow)

Conception sur FPGA - Chap. 2

A. Khouas

You might also like