ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I...

45
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 b a a a a a a a L L partie entière n chiffres partie fractionnaire m chiffres base

Transcript of ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I...

Page 1: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 2: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 3: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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− −= × + × + × + ×

Page 4: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 5: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 6: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 7: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 8: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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=

Page 9: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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=

Page 10: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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 )

Page 11: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 12: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 13: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 14: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 15: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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.

Page 16: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 17: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 18: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 19: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 20: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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.

Page 21: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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=

Page 22: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 23: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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=

Page 24: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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 =

Page 25: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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.

Page 26: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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 )

Page 27: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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.

Page 28: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 29: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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.

Page 30: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 31: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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.

Page 32: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 33: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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−+ = − + +

Page 34: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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+ = + +

Page 35: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 36: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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 =

Page 37: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 38: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 39: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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+ + = =

Page 40: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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) )

Page 41: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 42: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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

Page 43: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 44: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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)

Page 45: ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de ...ELE1300 - CIRCUITS LOGIQUES Chapitre I – Systèmes de numération Lectures recommandées: Givone / sections 2.7 à 2.9

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