ele1300 - circuits logiques chapitre i – systèmes de ...ele1300 - circuits logiques chapitre i...
TRANSCRIPT
Transparent 1.1
1.1 - Définitions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
Lectures recommandées : Givone / sections 2.1 et 2.2
Lectures facultatives : Givone / section 2.3
Forme générale d’un nombre :(système de numération pondérée)
[ ] ( )1 2 1 0 1 2 , n n m ba a a a a a a− − − − −L L
partie entièren chiffres
partie fractionnairem chiffres
base
Transparent 1.2
1.1 - Définitions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
1 21 2 1 0 n n
n na b a b a b a− −− −× + × + + × +L
Valeur :
-1 -2 --1 -2 - m
ma b a b a b+ × + × + + ×L
[ ] ( )1 2 1 0 1 2 , n n m ba a a a a a a− − − − −L L
1 2 1 0 1 2 n n mb b b b b b b− − − − −L L
Transparent 1.3
1.1 - Définitions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
SYSTÈME BASE CHIFFRES
BINAIRE
OCTAL
DÉCIMAL
HEXADÉCIMAL
2
8
10
16
{ }0,1,2,3,4,5,6,7ia ∈
{ }0,1ia ∈
{ }0,1,2,3, 4,5,6,7,8,9ia ∈
{ }0,1,2,3, 4,5,6,7,8,9, A,B,C,D, E,Fia ∈
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )2 1 0 1
10 10 10 10 10 10 10 10 10243,6 2 10 4 10 3 10 6 10−= × + × + × + ×
Exemples :
(suite)
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )3 2 1 0 1 2 3
2 2 2 2 2 2 2 2 2 2 2 2 2 2 21011,101 1 10 0 10 1 10 1 10 1 10 0 10 1 10− − −= × + × + × + × + × + × + ×
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )2 1 0 1
16 16 16 16 16 16 16 16 1612A, 4 1 10 2 10 A 10 4 10−= × + × + × + ×
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )1 0 1 2
8 8 8 8 8 8 8 8 845,36 4 10 5 10 3 10 6 10− −= × + × + × + ×
Transparent 1.4
1.2 - Réalisation techniqueELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
BINAIRE
000000010010001101000101011001111000100110101011110011011110111110000
OCTAL
01234567101112131415161720
HEXADÉCIMAL
0123456789ABCDEF10
DÉCIMAL
012345678910111213141516
Transparent 1.5
1.2 - Réalisation techniqueELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
Réalisation technique : manipulation de nombres binaires représentés par des tensions électriques
v(t)
+5 volts (bit « 1 »)
ou
0 volt (bit « 0 »)
5 volts
Diagramme temporel
t
v(t)
0 volt
5 volts
0 1 1 0 1 0 0 1 0 1 1Informationbinaire :
1
0
Transparent 1.6
1.2 - Réalisation techniqueELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Conversion analogique à numérique / sortie sérielle
CONVERTISSEUR
ANALOGIQUE À NUMÉRIQUEv(t)x(t)
1100 0000 1101 0110 0001 11110011 0001 1100
t
x(t)
t
5 Vv(t)
0 V
11 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0
Transparent 1.7
1.2 - Réalisation techniqueELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Conversion analogique à numérique / sorties parallèles
CONVERTISSEUR
ANALOGIQUE À NUMÉRIQUE
v3(t)
x(t)
t
5 Vv0(t) 0 V
v2(t)v1(t)v0(t)
t5 Vv1(t) 0 V
t
5 Vv2(t) 0 V
5 Vv3(t) 0 V t
1 1 1 1
1 1 1 1 1
111
1 1 1 1 1000
000 0 0 0
0
0
0
00
0 0 0 0
0
Transparent 1.8
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
Lectures recommandées : Givone / sections 2.4 à 2.6
Conversion d’une base quelconque en base décimale :
MÉTHODE POLYNOMIALE
Exemple : binaire en décimal
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )3 2 1 0 1 2 3
2 2 2 2 2 2 2 2 2 2 2 2 2 2 21011,101 1 10 0 10 1 10 1 10 1 10 0 10 1 10− − −= × + × + × + × + × + × + ×
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )3 2 1 0 1 2 3
2 10 10 10 10 10 10 10 10 10 10 10 10 10 101011,101 1 2 0 2 1 2 1 2 1 2 0 2 1 2− − −= × + × + × + × + × + × + ×
( ) ( )2 101011,101 11,625=
Transparent 1.9
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
Exemple : octal en décimal
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )2 1 0 1
16 16 16 16 16 16 16 16 1612A, 4 1 10 2 10 A 10 4 10−= × + × + × + ×
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )2 1 0 1
16 10 10 10 10 10 10 10 1012A, 4 1 16 2 16 10 16 4 16−= × + × + × + ×
(suite)
Exemple : hexadécimal en décimal
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )1 0 1 2
8 10 10 10 10 10 10 10 1045,36 4 8 5 8 3 8 6 8− −= × + × + × + ×
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )1 0 1 2
8 8 8 8 8 8 8 8 845,36 4 10 5 10 3 10 6 10− −= × + × + × + ×
( ) ( )8 1045,36 37, 46875=
( ) ( )16 1012A, 4 298, 25=
Transparent 1.10
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Conversion d’une base décimale en base quelconque :
MÉTHODE ITÉRATIVE(Les parties entière et fractionnaire d’un nombre sont traitées séparément)
Partie entière : 1 2 1 01 2 1 0
nnE a b a b a b a b−−= + + + +L
0 02 1 01 2 1 1 1 0reste a anE
nb b ba b a b a b Q Q a−−= + + + + = + =L
1 1 13 01 2 2 2 1reste Q a an
nb b ba b a b Q Q a−−= + + + = + =L
2 2 24 01 3 3 3 2reste Q a an
nb b ba b a b Q Q a−−= + + + = + =L
(le processus est appliqué jusqu’à l’obtention du reste an-1 )
Transparent 1.11
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
Exemple : 57(10) = ?(2)
57 ÷ 2 = 28 reste 1(10) ou 1(2)
28 ÷ 2 = 14 reste 0(2)
14 ÷ 2 = 7 reste 0(2)
7 ÷ 2 = 3 reste 1(2)
3 ÷ 2 = 1 reste 1(2)
1 ÷ 2 = 0 reste 1(2)
d’où 57(10) = 111001(2)
(suite)
Exemple : 637(10) = ?(16)
637 ÷ 16 = 39 reste 13(10) ou D(16)
39 ÷ 16 = 2 reste 7(16)
2 ÷ 16 = 0 reste 2(16)
d’où 637(10) = 27D(16)
Transparent 1.12
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
Partie fractionnaire : 1 2 31 2 3
mmF a b a b a b a b− − − −
− − − −= + + + +L
(le processus est appliqué jusqu’à l’obtention d’une seule partie entière qui sera a-m )
0 1 2 11 2 3
mmbF a b a b a b a b− − − +
− − − −= + + + +L
0 1 2 21 2 3 4
mmbF a b a b a b a b− − − +
− − − −= + + + +L
Partie fractionnaire F1Partie entière
Partie fractionnaire F2Partie entière
(suite)
Transparent 1.13
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple : 0,6875(10) = ?(2) 0,6875 × 2 = 1,375 partie entière = 1(10) ou 1(2)
0,375 × 2 = 0,75 partie entière = 0(2)
0,75 × 2 = 1,5 partie entière = 1(2)
0,5 × 2 = 1,0 partie entière = 1(2)
d’où 0,6875(10) = 0,1011(2)
Exemple : 0,8125(10) = ?(8) 0,8125 × 8 = 6,5 partie entière = 6(10) ou 6(8)
0,5 × 8 = 4,0 partie entière = 4(8)
d’où 0,8125(10) = 0,64(8)
Transparent 1.14
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple : 0,7(10) = ?(2) 0,7 × 2 = 1,4 partie entière = 1(10) ou 1(2)
0,4 × 2 = 0,8 partie entière = 0(2)
0,8 × 2 = 1,6 partie entière = 1(2)
0,6 × 2 = 1,2 partie entière = 1(2)
0,2 × 2 = 0,4 partie entière = 0(2)
d’où 0,7(10) = 0 , 1 0 1 1 0 0 1 1 0 0 1 1 0 · · · (2)
RÉPÉTITION
Transparent 1.15
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Conversion entre les bases binaire et octale
5 4 3 2 1 0 1 2 35 4 3 2 1 0 1 2 32 2 2 2 2 2 2 2 2a a a a a a a a a− − −
− − −+ + + + + + + + + +L L
( ) ( ) ( )2 3 2 0 2 35 4 3 2 1 0 1 2 3 2 2 2 2 2 2 2 2 2a a a a a a a a a −
− − −= + + + + + + + + + +L L
( ) ( ) ( )2 1 2 0 2 15 4 3 2 1 0 1 2 3 2 2 8 2 2 8 2 2 8a a a a a a a a a −
− − −= + + + + + + + + + +L L
Conclusion :
Chaque groupe de trois bits d’un nombre binaire correspond à un chiffre du nombre octal correspondant.
Transparent 1.16
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple : 1011101,1001111(2) = ?(8)
0 0 1 0 1 1 1 0 1 , 1 0 0 1 1 1 1 0 0 (2)
1 3 5 , 4 7 4 (8)
Exemple : 27,56(8) = ?(2)
2 7 , 5 6 (8)
0 1 0 1 1 1 , 1 0 1 1 1 0 (2)
Transparent 1.17
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Conversion entre les bases binaire et hexadécimale
7 6 5 4 3 2 1 07 6 5 4 3 2 1 02 2 2 2 2 2 2 2a a a a a a a a+ + + + + + + + +L L
( ) ( )3 2 4 3 2 07 6 5 4 3 2 1 0 2 2 2 2 2 2 2 2a a a a a a a a= + + + + + + + + +L L
Conclusion :
Chaque groupe de quatre bits d’un nombre binaire correspond à un chiffre du nombre hexadécimal correspondant.
( ) ( )3 2 1 3 2 07 6 5 4 3 2 1 0 2 2 2 16 2 2 2 16a a a a a a a a= + + + + + + + + +L L
Transparent 1.18
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple : 101010, 011 (2) = ?(16)
0 0 1 0 1 0 1 0 , 0 1 1 0 (2)
2 A , 6 (16)
Exemple : E2,0D(16) = ?(2)
E 2 , 0 D (16)
1 1 1 0 0 0 1 0 , 0 0 0 0 1 1 0 1 (2)
1 A 2 , B (16)
0 0 0 1 1 0 1 0 0 0 1 0 , 1 0 1 1 (2)
0 0 0 1 1 0 1 0 0 0 1 0 , 1 0 1 1 0 0 (2)
0 6 4 2 , 5 4 (8)
Exemple : 1A2,B(16) = ?(8)
Transparent 1.19
1.3 - Conversions ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Problèmes suggérés : Givone / #2.10bdfh #2.13 #2.14acd
#2.17ad #2.18ad #2.19ad
RÉPONSES :
#2.10 b) 55,625(10) d) 142,333…(10) f) 829,25(10) 173,875(10)
#2.13 base 6
#2.14 a) 10100011,11(2) 11001010,111001100…(2)
c) 243,6(8) 312,714631463…(8)
d) A3,C(16) CA,E66…(16)
#2.17 a) 771,172(8) 1F9,3D(16) d) 3446,5(8) 726,A(16)
#2.18 a) 11111,101(2) d) 111010100,000110(2)
#2.19 a) 11100,0011(2) d) 100011101010,01011001(2)
Transparent 1.20
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
Lectures recommandées : Givone / sections 2.7 à 2.9
Complément d’un nombre : illustration du concept
0-3-10
37
ORIGINEORIGINEDÉCALÉE
7 est le « complément à 10 » de 3; il peut être utilisé pour représenter -3
• Cette façon de représenter des valeurs négatives est utilisée puisque facilite la réalisation de certaines opérations arithmétiques en binaire.
Transparent 1.21
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Définition : le « complément à 2 » d’un nombre binaire
Soit un nombre binaire positif :
[ ] ( )2 1 0 1 2 2 0 , n mN a a a a a a− − − −= L L
Le « complément à 2 » de N est : ( )210nN N= −
Remarque : ( )N N=
Transparent 1.22
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple :( )20101,011N = ( n = 4 , m = 3 )
( ) ( ) ( )2 2 210000,000 0101,011 1010,101N = − =
Remarque : Pour obtenir le « complément à 2 » d’un nombre binaire, on inverse chacun des bits et on additionne (c’est-à-dire, on ajoute 1 au bit le moins significatiof).
( )210 m−
( ) ( )2 20101,011 : 1010,1001. Inversion de
( ) ( ) ( ) ( )32 2 2 210 : 1010,100 0,001 1010,101− + =2. On ajoute
Transparent 1.23
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Définition : le « complément à 1 » d’un nombre binaire
Soit un nombre binaire positif :
[ ] ( )2 1 0 1 2 2 0 , n mN a a a a a a− − − −= L L
Le « complément à 1 » de N est : ( ) ( )2 210 10n mN N−= − −
Remarque : ( )N N=
Transparent 1.24
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple :( )20101,011N = ( n = 4 , m = 3 )
( ) ( ) ( )2 2 210000,000 0,001 0101,011N = − −
Remarque : Pour obtenir le « complément à 1 » d’un nombre binaire, on inverse chacun des bits.
( ) ( )2 20101,011 : 1010,100Inversion de
( )21010,100N =
Transparent 1.25
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Attention! Il existe une différence entre « faire » le complément d’un chiffre et le « format » complément.
Format complément : • permet d’exprimer à la fois des nombres positifs et des nombre négatifs. • valeurs positives sont représentées en binaire naturel et se limite à la demie inférieur des code disponible (le bit le plus significatif est 0). • valeurs négatives sont représentées par le complément de la valeur absolue du chiffre que l’on veut représenter (le bit le plus significatif est 0).
Faire le complément : • obtenir la valeur inverse d’un nombre qui est déjà dans le format complément.
Transparent 1.26
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération
VALEUR
+7+6+5+4+3+2+10
-1-2-3-4-5-6-7-8
(suite)
BINAIREAVEC SIGNE
0111011001010100001100100001
0000 ou 10001001101010111100110111101111-----
BINAIRECOMPLÉMENT À 1
0111011001010100001100100001
0000 ou 11111110110111001011101010011000-----
BINAIRECOMPLÉMENT À 2
0111011001010100001100100001000011111110110111001011101010011000
Soit un nombre binaire entier de 4 bits ( n = 4 , m = 0 )
Transparent 1.27
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Remarques :
En binaire avec signe, chaque nombre est constitué d’une valeur exprimée par 3 bits précédés d’un bit de signe 0 (positif) ou 1 (négatif).
En binaire avec signe et en binaire à complément à 1, il y a deux façons d’exprimer la valeur 0.
En binaire à complément à 2, il y a une valeur négative supplémentaire (-8) qui peut être représentée. Toutefois, la valeur positive correspondante (+8) ne l’est pas.
Transparent 1.28
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Addition et soustraction
Ces deux opérations sont similaires car la soustraction peut être vue comme une addition avec l’inverse du diminuteur comme cumulateur :
( )1 2 1 2N N N N− = + −
Il y a deux cas à étudier :
on exprime la valeur négative par un complément à 1,
on exprime la valeur négative par un complément à 2.
où N1 et N2 sont des nombres positifs
Transparent 1.29
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
2NSoit , le complément à 1 de 2N
( ) ( )( ) ( ) ( ) ( )1 2 1 2 1 22 2 2 210 10 10 10n m n mN N N N N N− −+ = + − − = − + −
( ) ( )
( ) ( )
1 22 2 1 2
1 21 22 2
10 10 , si est positif, si est négatif10 10
n m
n m
N N N NN NN N
−
−
⎧ − + − −⎪= ⎨ −− − −⎪⎩
1er cas : on exprime la valeur négative par un complément à 1
Conclusion :
Si l’addition engendre une retenue, on l’élimine et on ajoute le bit 1 au bit le moinssignificatif ; le résultat est une valeur positive.
Si l’addition n’engendre aucune retenue, le résultat est une valeur négativeexprimée par un complément à 1.
Transparent 1.30
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple : ( ) ( )1 10 229,5 011101,10N = = ( n = 6, m = 2 )
( )2 2110011,10N =( ) ( )2 10 212, 25 001100,01N = =( )1 2100010,01N =
2 1 2 1N N N N− = +1 2 1 2N N N N− = +
0 1 1 1 0 1 , 1 0
+ 1 1 0 0 1 1 , 1 0
1 0 1 0 0 0 1 , 0 0
0 0 1 1 0 0 , 0 1
+ 1 0 0 0 1 0 , 0 1
1 0 1 1 1 0 , 1 0
On élimine la retenue ; le résultat est :010001,00(2) + 0,01(2) = 010001,01(2) ou 17,25(10)
Il n’y a aucune retenue ; le résultat négatif est exprimépar le complément à 1 de 010001,01(2) ou 17,25(10)
Transparent 1.31
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
2NSoit , le complément à 2 de 2N
( )( ) ( ) ( )1 2 1 2 1 22 210 10n nN N N N N N+ = + − = + −
( )
( )
1 22 1 2
1 21 22
10 , si est positif, si est négatif10
n
n
N N N NN NN N
⎧ + − −⎪= ⎨ −− −⎪⎩
2e cas : on exprime la valeur négative par un complément à 2
Conclusion :
Si l’addition engendre une retenue, on l’élimine ; le résultat est une valeur positive.
Si l’addition n’engendre aucune retenue, le résultat est une valeur négativeexprimée par un complément à 2.
Transparent 1.32
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple : ( ) ( )1 10 229,5 011101,10N = = ( n = 6, m = 2 )
( )2 2110011,11N =( ) ( )2 10 212, 25 001100,01N = =( )1 2100010,10N =
2 1 2 1N N N N− = +1 2 1 2N N N N− = +
0 1 1 1 0 1 , 1 0
+ 1 1 0 0 1 1 , 1 1
1 0 1 0 0 0 1 , 0 1
0 0 1 1 0 0 , 0 1
+ 1 0 0 0 1 0 , 1 0
1 0 1 1 1 0 , 1 1
On élimine la retenue ; le résultat est :010001,01(2) ou 17,25(10)
Il n’y a aucune retenue ; le résultat négatif est exprimépar le complément à 2 de 010001,01(2) ou 17,25(10)
Transparent 1.33
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Addition de deux valeurs négatives
( ) ( )1 2 1 2N N N N− + − = +avec les compléments à 1 :
( ) ( ) ( ) ( )1 2 1 22 2 2 210 10 10 10n m n mN N N N− −+ = − − + − −
( ) ( ) ( ) ( ) ( )1 2 1 22 2 2 210 10 10 10n m n mN N N N− −⎡ ⎤+ = − + − − +⎣ ⎦
Soient N1 et N2 , deux nombres positifs,
Conclusion :
On élimine la retenue et on ajoute le bit 1 au bit le moins significatif ; le résultat est une valeur négative exprimée par un complément à 1.
( ) ( ) ( )1 2 1 22 210 10n mN N N N−+ = − + +
Transparent 1.34
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
( ) ( )1 2 1 2N N N N− + − = +avec les compléments à 2 :
( ) ( )1 2 1 22 210 10n nN N N N+ = − + −
( ) ( ) ( )1 2 1 22 210 10n nN N N N⎡ ⎤+ = + − +⎣ ⎦
Conclusion :
On élimine la retenue ; le résultat est une valeur négative exprimée par un complément à 2.
( ) ( )1 2 1 2210nN N N N+ = + +
Transparent 1.35
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Dépassement de capacité (« Overflow »)
Si une addition ou une soustraction engendre un résultat trop grand (positivement ou négativement), on dit qu’il y a dépassement de capacité (ou débordement).
Soit un nombre binaire comportant n = 6 bits dans la partie entière et m = 2 bits dans la partie fractionnaire. Les plus grandes valeurs pouvant être représentées sont :
( ) ( )2 10011111,11 31,75=
( )( )
( )
10
210
-31,75 , pour un complément à 1100000,00
-32,00 , pour un complément à 2
⎧⎪= ⎨⎪⎩
et
Transparent 1.36
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Soient : ( ) ( )1 10 220 010100,00N = =
( )2 2110000,11N =( ) ( )2 10 215 001111,00N = =
( )1 2101011,11N =
1 2N N+ 0 1 0 1 0 0 , 0 0
+ 0 0 1 1 1 1 , 0 0
1 0 0 0 1 1 , 0 0
Le résultat correspond à une valeur négative (débutant par 1) alors que c’est la somme de deux valeurs positives (débutant par 0). Il y a donc eu dépassement de capacité ; le résultat n’est pas valable.
( )1 2101100,00N =
( )2 2110001,00N =
Transparent 1.37
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
1 2 1 2N N N N− − = +
1 0 1 0 1 1 , 1 1
+ 1 1 0 0 0 0 , 1 1
1 0 1 1 1 0 0 , 1 0
Les résultats correspondent à des valeurs positives (débutant par 0) alors que ce sont des sommes de deux valeurs négatives (débutant par 1). Il y a donc eu dépassement de capacité ; les résultats ne sont pas valables.
1 2 1 2N N N N− − = +
1 0 1 1 0 0 , 0 0
+ 1 1 0 0 0 1 , 0 0
1 0 1 1 1 0 1 , 0 0
+ 0 , 0 1
0 1 1 1 0 0 , 1 1
Transparent 1.38
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Réalisation technique possible
x0
x1
x2
x3
y0
y1
y2
y3
c
a0
a1
a2
a3
d
UNITÉ
ARITHMÉTIQUE
AFFICHEUR
TÉMOIN DE DÉPASSEMENT DE CAPACITÉ
COMMANDE D’OPÉRATION0 = ADDITION / 1 = SOUSTRACTION
Transparent 1.39
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Remarque concernant le dépassement de capacité
Dans une suite de plusieurs opérations (additions ou soustractions), la présence de dépassements de capacité dans des résultats intermédiaires n’affecte pas la validité du résultat final si globalement cette suite correspond à une opération sans dépassement de capacité.
Exemple : ( ) ( )1 10 220 010100,00N = = ( n = 6, m = 2 )*
( )3 2111011,00N =( ) ( )3 10 25 000101,00N = =( ) ( )2 10 215 001111,00N = =
* Valeurs limites : -32,0(10) et +31,75(10)
( ) ( )1 2 3 2 10011110,00 30N N N+ + = =
Transparent 1.40
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Exemple (suite) :1 2 3 1 2 3N N N N N N+ − = + +
0 1 0 1 0 0 , 0 0
+ 0 0 1 1 1 1 , 0 0
1 0 0 0 1 1 , 0 0
1 2N N+Le résultat correspond à une valeur négative (débutant par 1) alors que c’est la somme de deux valeurs positives (débutant par 0). Il y a donc eu dépassement de capacité ; le résultat n’est pas valable.
1 0 0 0 1 1 , 0 0
+ 1 1 1 0 1 1 , 0 0
1 0 1 1 1 1 0 , 0 0
( )1 2 3N N N+ +Le résultat est correct même s’il y a eu dépassement de capacité lors de l’opération précédente.
(qui doit donner +35(10) )
(qui doit donner +30(10) )
Transparent 1.41
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Multiplication et division par des puissances de 2
Pour un nombre binaire naturel, une multiplication par 2 est réalisée par un décalage des bits vers la gauche et une division par 2 est réalisée par un décalage des bits vers la droite.
Exemple :
( )20101101,010N =
Soient n = 7 , m = 3 (dimensions fixes)
et
1 0 1 1 0 1 0 1 0,
( )210 :N ×
01 1 1 0 1 1 0 0,0
1 0 1 1 0 1 0 1 0,
( )210 :N ÷
0 10 0 1 1 1 00 , 0
0
0
0
1(perdu) (perdu)
Transparent 1.42
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Pour un nombre binaire naturel, il y a dépassement de capacité si le bit 1 le plus significatif est perdu. Il y a troncation si le bit le moins significatif perdu a la valeur 1.
1 0 1 1 0 1 0 1 0,
( )2100 :N ×
01 1 1 0 1 1 0 0,0
1 0 1 1 0 1 0 1 0,
( )2100 :N ÷
0 10 0 1 1 1 00 , 0
0
0
0
1
DÉPASSEMENT DE CAPACITÉ
10 1 0 1 0 0 0 0,1 1 1 00 1 0 1 0 10 , 10
TRONCATION
Transparent 1.43
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Pour un nombre binaire en complément (à 2 ou à 1), une multiplication par 2 est réalisée par un décalage des bits vers la gauche. Une division par 2 est réalisée par un décalage des bits vers la droite, excluant le bit le plus significatif qui garde la même valeur.
Exemple :
( ) ( )2 101101101,010 18,75N = = −
Soient n = 7 , m = 3 (dimensions fixes) en complément à 2
et
1 0 1 1 0 1 0 1 0,
( )210 :N ×
01 1 1 0 1 1 0 0,1
1 0 1 1 0 1 0 1 0,
( )210 :N ÷
0 11 0 1 1 1 01 , 0
1
0
1
1(perdu) (perdu)
-18,75(10)
-37,5(10)
-18,75(10)
-9,375(10)
Transparent 1.44
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Pour un nombre binaire en format complément (à 1 ou à 2), il y a dépassement de capacité si le bit le plus significatif change de valeur. Il y a troncation si le bit 1 le moins significatif est perdu.
1 0 1 1 0 1 0 1 0,
( )2100 :N ×
01 1 1 0 1 1 0 0,1
1 0 1 1 0 1 0 1 0,
( )2100 :N ÷
0 11 0 1 1 1 01 , 0
1
0
1
1
DÉPASSEMENT DE CAPACITÉ
10 1 0 1 0 0 0 0,1 1 1 01 1 0 1 0 11 , 11
TRONCATION
-18,75(10)
-37,5(10)
53(10)
-18,75(10)
-9,375(10)
-4,75(10)
Transparent 1.45
1.4 – Arithmétique binaire ELE1300 - CIRCUITS LOGIQUES
Chapitre I – Systèmes de numération (suite)
Problèmes suggérés : Givone / #2.22acef #2.29 #2.31
RÉPONSES :
#2.22 a) 01000100 01000101 c) 010011 010100
e) 101,00 101,01 f) 00100,011 00100,100
#2.29 a) 00011001 b) 01110011 c) 10001101 d) 11100111
#2.31 a) 01000011 b) 01101001 c) 10010110 d) 10111100
Dans les problèmes #2.29 et #2.31, on considèrera le bit de signe comme partie intégrante du nombre.
Ex : 0S01011 = 0010111S10101 = 110101