![Page 1: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/1.jpg)
Copyright © Epum/Lirmm1
Ecole Polytechnique Universitaire de MontpellierUniversité Montpellier II
Place Eugène Bataillon, 34095 Montpellier cedex 05, FRANCE
Laboratoire d'Informatique, de Robotique et de Microélectronique de MontpellierUMR 5506 Université Montpellier II / CNRS
161 rue Ada, 34392 Montpellier cedex 05, FRANCE
Arithmétique binaire
![Page 2: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/2.jpg)
Copyright © Epum/Lirmm2
Notion de code
Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles. On appelle codage de I à l'aide des éléments de C une application injective
de I dans C* ou C* est l'ensemble des suites ordonnées de 1, 2, ..., m, ... symboles.
Si toutes les informations sont représentées à l'aide d'une suite de n symboles de C (codage en longueur fixe), et si C contient b symboles, on peut représenter bn informations différentes.
I1I2I3I4
C
x1x2…xn
C*
bn élémentsxi {,, …}
Ib éléments
![Page 3: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/3.jpg)
Copyright © Epum/Lirmm3
Représentation des nombres
Dans les systèmes de numération on attribue en général une significationà la position des symboles. Considérons, par exemple, un nombre quis'exprime dans un système de numération de base b par:
(A)b = a5 a4 a3 a2 a1 a0
Chaque chiffre ai peut prendre une valeur entière comprise entre 0 et (b-1).Cette représentation symbolique représente en fait le nombre positif:
A = a5b5 + a4b4 + a3b3 + a2b2 + a1b1 + a0b0
A = ai.bi
Les nombres exprimés dans la base 2 ou « nombres binaires » ont un intérêttous particulier pour les calculateurs électroniques du fait qu'ils ne font intervenirque deux valeurs (0,1).
i=0
n-1
![Page 4: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/4.jpg)
Copyright © Epum/Lirmm4
Représentation des nombres rationnels (Virgule fixe)
(A)b = a3 a2 a1 a0 , a-1 a-2
A = a3b3 + a2b2 + a1b1 + a0b0 + a-1b-1 + a-2b-2
![Page 5: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/5.jpg)
Copyright © Epum/Lirmm5
Conversion de bases
Méthode polynomiale :- Exprimer le nombre (N)b1 en polynôme avec dans le polynôme desnombres exprimés dans la base b2,- Evaluer le polynôme en utilisant l'arithmétique de la base b2.
Exemple : Soit un nombre binaire (1011101).Expression polynomiale:
A = 1*26 + 0*25 + 1*24 + 1*23 + 1*22 + 0*21 + 1*20
(A)10 = 1*64 + 0*32 + 1*16 + 1*8 + 1*4 + 0*2 + 1*1= 93
(A)8 = 1*100 + 0*40 + 1*20 + 1*10 + 1*4 + 0*2 + 1*1= 135
(A)3 = 1*2101 + 0*1012 + 1*121 + 1*22 + 1*11 + 0*2 + 1*1= 10110
![Page 6: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/6.jpg)
Copyright © Epum/Lirmm6
Conversion de bases
Exemple : Soit un nombre binaire (1011,101).Expression polynomiale:
A = 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3
(A)10 = 1*8 + 0*4 + 1*2 + 1*1 + 1*1/2 + 0*1/4 + 1*1/8= 11 + 5/8= 11,625
(A)8 = 1*10 + 0*4 + 1*2 + 1*1 + 1*1/2 + 0*1/4 + 1*1/10= 13 + 5/10= 13,5
(A)3 = 1*22 + 0*11 + 1*2 + 1*1 + 1*1/2 + 0*1/11 + 1*1/22= 102 + 12/22 = 102,121212 ...
![Page 7: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/7.jpg)
Copyright © Epum/Lirmm7
Conversion de bases
Méthode itérative :Soit A la représentation d'un nombre entier positif dans la base 10. Pourobtenir sa représentation dans la base b quelconque il suffit de diviser Apar b, puis le quotient par b, jusqu'à ce que le quotient devienne nul. Lesrestes successifs lu de bas en haut sont la représentation de A dans labase b.
A = a3b3 + a2b2 + a1b1 + a0= b(a3b2 + a2b1 + a1) + a0 = bQ1 + a0
Q1 = b(a3b1 + a2b0) + a1 = bQ2 + a1Q2 = ba3 + a2 = bQ3 + a2Q3 = a3
Le passage d'une base quelconque à la base décimale par la méthode algorithmique est simple l'inverse l'étant moins. Une solution pour réaliser ce passage (base 10 à base quelconque) est d'appliquer une méthode itérative.
base b1 => expression décimale (base 10) => base b2
![Page 8: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/8.jpg)
Copyright © Epum/Lirmm8
Conversion de bases
Exemple :29 en base 2 29 en base 8
29 = (14*2) + 1 29 = (3*8) + 514 = (7*2) + 0 3 = (0*8) + 37 = (3*2) + 1 3 = (1*2) + 1 (29)10 = (35)81 = (0*2) + 1
(29)10 = (11101)2
![Page 9: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/9.jpg)
Copyright © Epum/Lirmm9
Conversion de bases
Cas particulier de la base 2 :La conversion du système décimal au système binaire peut s'effectueren remarquant que le reste de la division est 0 ou 1 selon que ledividende est pair ou impair.La conversion décimale binaire peut donc être représentée plussimplement en écrivant les quotients de droite à gauche; on écrit “ 1 ”sous chaque quotient impair et “ 0 ” sous chaque quotient pair.
Exemple : Conversion de (29)10 en binaire1 3 7 14 291 1 1 0 1 => (29)10 = (11101)2
![Page 10: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/10.jpg)
Copyright © Epum/Lirmm10
Conversion de bases
Relations entre la base 2 et la base 8.Les bits sont pris 3 par 3 et exprimés en décimal pour obtenir lenombre octal.Relations entre la base 2 et la base 16.Les bits sont pris 4 par 4 et exprimés en hexadécimal pour obtenir le nombre hexadécimal.
Exemple : N2 = 11101=> N8 = 35 (011 101)=> N16 = 1D (0001 1101)
Compte tenu de la facilité de conversion entre les base 2, 8 et 16 (puissances de 2), les bases 8 (octal) et 16 (hexadécimal) sont exploitées pour représenter les nombres binaires sous forme plus synthétique.
![Page 11: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/11.jpg)
Copyright © Epum/Lirmm11
Représentation des nombres négatifs
22 21 20 N 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 -0 1 0 1 -1 1 1 0 -2 1 1 1 -3
Signe + Valeur absolue
![Page 12: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/12.jpg)
Copyright © Epum/Lirmm12
Complément à b-1
Définition: Le complément à la base - 1 d'un nombre exprimé dans une base b est le résultat de la soustraction de ce nombre du radical -1:
Si N est un nombre exprimé sur n digits, Cb-1(N) = bn- N - 1
• C9(5230) = 10000-5230-1 = 9999-5230 = 4769 • C1 (1010) = 10000-1010-1 = 1111-1010 = 0101
Le complément à b-1 d'un nombre peut être obtenu encomplémentant à la base -1 chaque digits.
• C9(5230) = 4769 • C1(1010) = 0101
Représentation des nombres négatifs
![Page 13: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/13.jpg)
Copyright © Epum/Lirmm13
Complément à b-1
Représentation des nombres négatifs
22 21 20 N 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 -3 1 0 1 -2 1 1 0 -1 1 1 1 -0
![Page 14: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/14.jpg)
Copyright © Epum/Lirmm14
Complément à b
Définition: Le complément à la base (b) d'un nombre exprimédans une base b est le résultat de la soustraction de ce nombredu radical:
Si N est un nombre exprimé sur n digits, Cb(N) = bn- N
• C10(5230) = 10000-5230 = 4770 • C2 (1010) = 10000-1010 = 0110
Le complément à b d'un nombre peut être obtenu en passantpar le complément à b-1 : Cb(N) = Cb-1(N) + 1
• C10(5230) = 4769 + 1 = 4770• C2(1010) = 0101 + 1 = 0110
Le complément à b d'un nombre peut être obtenu par unalgorithme de scrutation/complémentation
Représentation des nombres négatifs
![Page 15: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/15.jpg)
Copyright © Epum/Lirmm15
Complément à b
le complément à b d'un nombre peut être obtenu par unalgorithme de scrutation/complémentation
- Scruter le nombre à partir de la droite
- Tant que les digits rencontrés sont à 0, les conserver
- Complémenter à b le premier digit non nul
- Complémenter à b-1 tous les digits suivants
C10(5230) = 4770 C2(1010) = 0110
Représentation des nombres négatifs
![Page 16: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/16.jpg)
Copyright © Epum/Lirmm16
Complément à b
Représentation des nombres négatifs
22 21 20 N 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 -4 1 0 1 -3 1 1 0 -2 1 1 1 -1
A = - an-1.bn-1 + ai.bii=0
n-2
![Page 17: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/17.jpg)
Copyright © Epum/Lirmm17
0 1 264 ?
Complexité
264 = 1.8 10191.8 1019
106 * 3600 * 24 * 365= 584 942 années
![Page 18: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/18.jpg)
Copyright © Epum/Lirmm18
Synthèse : Algorithme / Structure
E0
En
S0...
Sn
.
.
.
Table de vérité => Impossible
=> Parallélisation
=> Récurrence
=> Algorithme
=> Structure itérative
![Page 19: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/19.jpg)
Copyright © Epum/Lirmm19
A
X
YS si A=0 alors S=X
si A=1 alors S=Y
000001010011100101110111
0011
1
10
0
AXY S
B2 B2n
2n
8=
0 0 11
0 1 1 0
00 01 11 10
0
1
AXYS
S = AX+AY
S
A
X
Y
0
1
Multiplexeurs
0
1
A
S
X
Y
![Page 20: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/20.jpg)
Copyright © Epum/Lirmm20
A
X
YS
m
m0
1
S0
A
Y0 X0
A A
Y1 X1 Ym Xm
S1 Sm
................................
....................................................
.......................................
Multiplexeurs
m
![Page 21: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/21.jpg)
Copyright © Epum/Lirmm21
A
X
YS
S = AX+AY
A
XY S
S = ABX+ABY+ABZ+ABT
ZT
B A0..An
E0
En
S...
S = A0.A1..An.E(A0..An)2
.......................
E0 En
A0..An. A0..An.
A0A1A2
0
1
00011011
00...0
11...1
Multiplexeurs
![Page 22: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/22.jpg)
Copyright © Epum/Lirmm22
Récurrence - Décodeur de Gray
a3a2a1a0
0000000100100011010001010110011110001001101010111100110111101111
b3b2b1b0
0000000100110010011001110101010011001101111111101010101110011000
b0 = a0 a1b1 = a1 a2b2 = a2 a3b3 = a3
cd
ab 00 01 11 10
00
01
11
10
![Page 23: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/23.jpg)
Copyright © Epum/Lirmm23
S0 = A0S1 = A0’.A1 + A0.A1’
A0 A1S2 = (A0+A1)’.A2 + (A0+A1).A2’
(A0+A1) A2S3 = (A0+A1+A2) A3...
Récurrence - Complément à 2
Le complément à 2 d'un nombre peut être obtenudirectement en suivant la procédure suivante:
- Scruter le nombre à partir de la droite- Tant que les bits rencontrés sont à 0, les conserver- Conserver le premier 1- Inverser tous les bits suivants
N = 1010 C2(N) = 0110
S = C2(A)
A=A3 A2 A1A0
S= S3 S2 S1S0
i=1
n-1Sn = Ai An
![Page 24: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/24.jpg)
Copyright © Epum/Lirmm24
Fe =1 si A3=B3 et A2=B2 et A1=B1 et A0=B0
Fe =1 si A=B
A=A3 A2 A1A0 B=B3 B2 B1 B0
Fe
00011011
1001
AiBi fifi = AiBi+AiBi
fi = Ai BiFe= (A3 B3) (A2 B2) (A1 B1) (A0 B0)
Récurrence - Comparateur égalité
![Page 25: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/25.jpg)
Copyright © Epum/Lirmm25
Fs =1 si (A3>B3) ou (A3=B3 et A2>B2) ou (A3=B3 et A2=B2 et A1>B1)ou (A3=B3 et A2=B2 et A1=B1 et A0>B0)
Fs =1 si A>B
A=A3 A2 A1A0 B=B3 B2 B1 B0
Fs
00011011
0010
AiBi gigi = AiBi
Récurrence - Comparateur supériorité
Fs =(A3B3)+(A3B3 )(A2B2)+(A3B3 )(A2B2 )(A1B1) + (A3B3 )(A2B2 )(A1B1 )(A0B0)
![Page 26: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/26.jpg)
Copyright © Epum/Lirmm26
A0A1A2A3
C0C1C2C3C4
S0S1S2S3
Structure itérative
A=A3 A2 A1A0
S= S3 S2 S1S0
![Page 27: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/27.jpg)
Copyright © Epum/Lirmm27
A0A1A2A3
C0=0C1C2C3C4
S0S1S2S3
Ci+1 = Ci + Ai
S i = Ai.Ci’ + Ai’. Ci= Ai Ci
Structure itérative - Complément à 2
Ci+1
Ai
Ci
Si
S = C2(A)
A=A3 A2 A1A0
S= S3 S2 S1S0
![Page 28: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/28.jpg)
Copyright © Epum/Lirmm28
000 0001 1010 0011 0100 0101 0110 0111 1
Fe =1 si A=B
A=A3 A2 A1A0 B=B3 B2 B1 B0
Fe
A0B0A1B1A2B2A3B3
C0C1C2C3C4Fe
Ci+1 = 1 si Ai=Bi et Ci=1AiBiCi Ci+1
Ci+1 = AiBiCi+AiBiCi= Ci(Ai Bi)
Co=1
0 1 00
0 1 0
00 01 11 10
0
1
AiBiCi
Ci+1
0
Structure itérative - Comparateur égalité
![Page 29: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/29.jpg)
Copyright © Epum/Lirmm29
A0B0A1B1A2B2A3B3
C0=1C1C2C3C4Fe ====
Ci+1
Ai Bi
Ci
Structure itérative - Comparateur égalité
Ci+1 = AiBiCi+AiBiCi= Ci(Ai Bi)
![Page 30: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/30.jpg)
Copyright © Epum/Lirmm30
000 0001 1010 0011 0100 1101 1110 0111 1
A0B0A1B1A2B2A3B3
C0C1C2C3C4Fs
Ci+1 = 1 si Ai>Bi ou (Ai=Bi et Ci=1)AiBiCi Ci+1
Ci+1 = AiBi+AiCi+ BiCi
Co=0
0 1 00
1 1 1 0
00 01 11 10
0
1
AiBiCi
Ci+1
Fs =1 si A>B
A=A3 A2 A1A0 B=B3 B2 B1 B0
Fs
Structure itérative - Comparateur supériorité
![Page 31: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/31.jpg)
Copyright © Epum/Lirmm31
Ci+1
Ai Bi
Ci
A0B0A1B1A2B2A3B3
C0=0C1C2C3C4Fs >>>>
Structure itérative - Comparateur supériorité
Ci+1 = AiBi+AiCi+ BiCi
![Page 32: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/32.jpg)
Copyright © Epum/Lirmm32
000 0 0001 0 1010 0 1011 1 0100 0 1101 1 0110 1 0111 1 1
Ci+1 = 1 si retenueAiBiCi Ci+1 Si
Ci+1 = AiBi + AiCi + BiCi
Co=0
0 0 01
1 1 1
00 01 11 10
0
1
AiBiCi
Ci+1
0
A0B0A1B1A2B2A3B3
C0C1C2C3C4
S0S1S2S3
Ci+1 = AiBi + Ci ( Ai Bi)
S i = Ai Bi Ci
Additionneur
S = A + B
A=A3 A2 A1A0 B=B3 B2 B1 B0
S=R S3 S2 S1S0
![Page 33: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/33.jpg)
Copyright © Epum/Lirmm33
A0B0A1B1A2B2A3B3
C0=0C1C2C3C4
+ + + +S0S1S2S3
Ci+1
Ai Bi
Ci
Si
Additionneur
Ci+1 = AiBi + AiCi + BiCi
Ci+1 = AiBi + Ci ( Ai Bi)
S i = Ai Bi Ci
![Page 34: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/34.jpg)
Copyright © Epum/Lirmm34
A0A1A2A3
C0C1C2C3C4
S0S1S2S3
A0 0A1 0A2 0A3 0
C0=1C1C2C3C4 + + + +S0S1S2S3
Ci+1 = AiBi + Ci ( Ai Bi)
S i = Ai Bi Ci
Ci+1 = Ai 0 + Ci ( Ai 0)
S i = Ai 0 Ci
Ci+1 = Ci.Ai
S i = Ai Ci
Incrémenteur
S = A + 1
A=A3 A2 A1A0
S=R S3 S2 S1S0
![Page 35: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/35.jpg)
Copyright © Epum/Lirmm35
A0A1A2A3
C0=1C1C2C3C4 +1 +1 +1 +1
S0S1S2S3
Ci+1
Ai
Ci
Si
Ci+1 = Ci.Ai S i = Ai Ci
Incrémenteur
![Page 36: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/36.jpg)
Copyright © Epum/Lirmm36
000 0 0001 1 1010 1 1011 1 0100 0 1101 0 0110 0 0111 1 1
Ci+1 = 1 si retenueAiBiCi Ci+1 Si
Ci+1 = AiBi + AiCi+BiCi
Co=0
0 1 11
0 1 0
00 01 11 10
0
1
AiBiCi
Ci+1
0 Ci+1 = AiBi + Ci ( Ai Bi)
S i = Ai Bi Ci
A0B0A1B1A2B2A3B3
C0C1C2C3C4
S0S1S2S3
+ + + +- - - -
Soustracteur
S = A - B
A=A3 A2 A1A0 B=B3 B2 B1 B0
S=R S3 S2 S1S0
![Page 37: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/37.jpg)
Copyright © Epum/Lirmm37
A1B1A2B2A3B3
C2C3C4
- - -
A0B0
C0=0C1
-S0S1S2S3
si A>B alors C4=0si A<B alors C4=1
+ + + +- - - -
Ci+1
Ai Bi
Ci
Si
Soustracteur
Ci+1 = AiBi + AiCi+BiCi
Ci+1 = AiBi + Ci ( Ai Bi)
S i = Ai Bi Ci
![Page 38: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/38.jpg)
Copyright © Epum/Lirmm38
Ci+1
Ai Bi
Ci
Ai Bi
CiCi+1
Ci+1 = AiBi + Ci ( Ai Bi)S i = Ai Bi Ci
Ci+1 = AiBi + Ci ( Ai Bi)S i = Ai Bi Ci
AiBi
CiCi+1 -Si
AiBi
CiCi+1 +Si
+ -
Soustracteur
![Page 39: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/39.jpg)
Copyright © Epum/Lirmm39
A1B1A2B2A3B3
C2C3C4
- - -
A0B0
C0=0C1
-S0S1S2S3
C2C3C4
+ + +
A1B1A2B2A3B3 A0B0
C0=0C1
+S0S1S2S3
+ - + - + - + -
Soustracteur
![Page 40: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/40.jpg)
Copyright © Epum/Lirmm40
Relations Soustracteur / Complément à 1
C1 (C1(A) + B) = C1 (2n - 1 - A + B)
= 2n - 1 - 2n + 1 + A – B
= A - B
C2C3C4 + + +
A1B1A2B2A3B3 A0B0
C0=0C1 +
S0S1S2S3
+ - + - + - + -
XC1(X)2n-1
1000+ 0111= 1111
C1(X) = 2n -1-X
![Page 41: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/41.jpg)
Copyright © Epum/Lirmm41
A0A1A2A3
C0C1C2C3C4
S0S1S2S3
A0 0A1 0A2 0A3 0
C0=1C1C2C3C4 + + + +S0S1S2S3
Ci+1 = AiBi + Ci ( Ai Bi)S i = Ai Bi Ci
Ci+1 = Ai 0 + Ci ( Ai 0)S i = Ai 0 Ci
Ci+1 = Ci Ai S i = Ai Ci
Décrémenteur
S = A - 1
A=A3 A2 A1A0
S=R S3 S2 S1S0
![Page 42: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/42.jpg)
Copyright © Epum/Lirmm42
A0A1A2A3
C0=1C1C2C3C4 +1 +1 +1 +1
S0S1S2S3
Ci+1
Ai
Ci
Si
Ci+1
Ai
Ci
Si
Ci+1 = Ci Ai S i = Ai Ci S i = Ai Ci
Décrémenteur
Ci+1 = Ci Ai
![Page 43: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/43.jpg)
Copyright © Epum/Lirmm43
Additionneur / soustracteur
s1s2s3
r0r1r2r3++ +
r4+
s0
a0 b0a1 b1a2 b2a3 b3
Op
Op = 0 => A + BOp = 1 => A - B
![Page 44: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/44.jpg)
Copyright © Epum/Lirmm44
Additionneur à carry anticipée
L'inconvénient de la structure précédente est le temps nécessaire à la réalisation de l'addition. Ce temps est en effet conditionné par la propagation de la retenue à travers tous les additionneurs élémentaires.
Dans un additionneur à carry anticipée on évalue en même temps la retenue de chaque étage. Pour cela on détermine pour chaque étage les quantités Pi et Gi suivantes: Pi= Ai Bi (propagation d'une retenue) Gi = AiBi (génération d'une retenue)
![Page 45: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/45.jpg)
Copyright © Epum/Lirmm45
Pi= Ai Bi (propagation d'une retenue)Gi = AiBi (génération d'une retenue)
La retenue entrante à l'ordre i vaut 1 si :- soit l'étage i-1 a généré la retenue (Gi-1 = 1)- soit l'étage i-1 a propagé la retenue générée à l'étage i-2 (Pi-1=1 et Gi-2=1)- soit les étages i-1 et i-2 ont propagé la retenue générée à l'étage i-3 (Pi-1=Pi-2=1 et Gi-3=1)..........- soit tous les étages inférieurs ont propagé la retenue entrante dans l'additionneur (Pi-1=Pi-2=...=P0=C0=1).
Ci = Gi-1 + Pi-1.Gi-2 + Pi-1.Pi-2.Gi-3 +................+ Pi-1.Pi-2.Pi-3....P0.C0
C1 = G0 + P0.C0C2 = G1 + P1.G0 + P1.P0.C0C3 = G2 + P2.G1 + P2.P1.G0 + P2.P1.P0.C0C4 = G3 + P3.G2 + P3.P2.G1 + P3.P2.P1.G0 + P3.P2.P1.P0.C0
Additionneur à carry anticipée
![Page 46: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/46.jpg)
Copyright © Epum/Lirmm46
Additionneur à carry anticipée
C0
G0P0G1P1G2P2G3P3
C4
s0s1s2s3
C3 C2 C1
G.P. G.P. G.P. G.P.
C.L.U.
a0b0a1b1a2b2a3b3
![Page 47: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/47.jpg)
Copyright © Epum/Lirmm47
C4 C3 C2 C1
C0
P3 G3 P2 G2 P1 G1P0 G0
Bloc CLU
![Page 48: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/48.jpg)
Copyright © Epum/Lirmm48
Additionneur Algébrique
Un nombre binaire signé de N bits peut se coder sur N+1 bits, le bit depoids fort servant à représenter le signe. (0 correspond à un nombrepositif, 1 à un nombre négatif.
Si la partie significative du nombre est représentée en valeur absolue,l'opération de soustraction est relativement complexe (elle nécessite laconnaissance du plus grand des deux nombres, la modification de cenombre au cours de la soustraction, etc...)
Un moyen d'éviter ce processus pour effectuer une soustraction est d'utiliser un codage particulier (Complément) pour représenter les nombres négatifs.
![Page 49: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/49.jpg)
Copyright © Epum/Lirmm49
Additionneur Algébrique
Comparateur
Additionneur / Soustracteur
Sa|A| Sb|B|
Signe
AA BB
|R|
R = A + B avec A et B positifs ou négatifs
Sr
![Page 50: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/50.jpg)
Copyright © Epum/Lirmm50
Additionneur Algébrique
7655- 2425
= 0 5230
2425- 7655
= 9 4770
Code de – 5230 ???
C10 (94770) = 05230
![Page 51: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/51.jpg)
Copyright © Epum/Lirmm51
Addition en complément à b
Le digit de retenue de l'addition doit être ignoré dans tous lescas. Le résultat de l'addition est la valeur attendue. Ce résultatpeut être positif ou négatif
Si le digit de signe du résultat vaut 0, le nombre obtenu estpositif et codé en décimal sur les digits significatifs. Si le digit designe du résultat vaut b-1, le nombre obtenu est négatif et codéen complément à b.
En utilisant un codage en complément à b pour les nombres négatifs, l'opération de soustraction se transforme en une simple opération d'addition binaire
A = A + bn (tronqué sur n bits)
A – B = A + bn – B
A – B = A + Cb(B) { Cb(B) = bn – B }
![Page 52: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/52.jpg)
Copyright © Epum/Lirmm52
Addition en complément à 2
Cas 1 : M>0 et N>0 S = M + NRésultat = M + N
Cas 2 : M>0 et N<0On effectue donc l'addition M + (2n - N).
S = (M - N) + 2n
= M - N (sur n bits)
M-N >0 => Résultat = S M-N<0 => Résultat = - (N - M)
= - (2n - M + N) sur n bits= - (2n - S) = - C2(S)
![Page 53: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/53.jpg)
Copyright © Epum/Lirmm53
Addition en complément à 2
Cas 3 : M<0 et N<0On effectue donc l'addition (2n - M) + (2n - N).
S = (- M - N) + 2n + 2n
= - M - N (sur n bits)
Résultat = - (N + M) = - (2n + M + N) sur n bits= - (2n - S)= - C2(S)
![Page 54: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/54.jpg)
Copyright © Epum/Lirmm54
Additionneur Algébrique
Codage Codage
Décodage
Additionneur
Sa|A| Sb|B|
Sr|R|
R = A + B avec A et B positifs ou négatifs
![Page 55: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/55.jpg)
Copyright © Epum/Lirmm55
Base 10 - Addition en complément à10
225 = 0225 = 0225 -110 = - 0110 = +9890
-------10115 Signe=0 =>R= + 115
-225 = - 0225 = 9775 +110 = +0110 = +0110
-------09885 Signe=9 =>R= - C10(885) = - 115
![Page 56: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/56.jpg)
Copyright © Epum/Lirmm56
Base 2- Addition en complément à 2
14 = 01110 14 = 01110-13 =-01101 +(-13) = 10011
-------100001 Signe=0 =>R=(00001)2=(1)10
13 = 01101 13 = 01101-14 = -01110 +(-14) = 10010
-------011111 Signe=1 => R= -C2(11111)2
= -(00001)2= -(1)10
![Page 57: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/57.jpg)
Copyright © Epum/Lirmm57
Dépassement de capacité
Remarque: Le résultat de l'opération doit être inférieure à 2N, c'est à dire qu'en valeur absolue sa représentation binaire comporte N bits au plus. Les cas qui peuvent poser problèmes sont ceux ou le signe des deux opérandes de l'addition est identique.
15 = 01111 15 = 01111+ 2 = + 00010 + 2 = 00010
-------10001 Signe=1 => R=-C2(10001)2
=-(01111)2=-(15)10
Overflow = S(A).S(B).S(R) + S(A).S(B).S(R)
![Page 58: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/58.jpg)
Copyright © Epum/Lirmm58
Additionneur/Soustracteur Algébrique
A - B = A + C2 (B) = A + C1 (B) + 1
A0B0A1B1A2B2A3B3
OpC1C2C3C4
+ + + +S0S1S2S3
Op = 1 <=> - , Op = 0 <=> +
C0
![Page 59: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/59.jpg)
Copyright © Epum/Lirmm59
Addition en complément à b-1
En utilisant un codage en complément à b-1 pour les nombres négatifs, l'opération de soustraction se transforme en une simple opération d'addition binaire [A-B = A+(-B)] mais le résultat final n'est obtenu qu'après addition de la retenue au résultat partiel.
A = A + bn (tronqué sur n bits)
A – B = A + bn – B
A – B = A + Cb-1(B) + 1 { Cb-1(B) = bn – B - 1}
Le bit de retenue de l'addition doit être ignoré. Si ce bit vaut 0, lerésultat de l'addition est la valeur attendue. Si ce bit est différentde 0, le résultat attendu est le résultat de l'addition plus de ce bitde retenue. Le résultat final peut être positif ou négatif.
Si le bit de signe du résultat final vaut 0, le nombre obtenu estpositif et codé en binaire naturel sur les bits significatifs. Si le bitde signe du résultat final vaut b-1, le nombre obtenu est négatifet codé en complément à b-1.
![Page 60: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/60.jpg)
Copyright © Epum/Lirmm60
Base 10 - Addition en complément à 9
225 = 0225 = 0225 -110 = - 0110 = +9889
-------10114+ 1-------0115 Signe=0 =>R= + 115
-225 = - 0225 = 9774 +110 = +0110 = +0110
-------09884 + 0-------9884 Signe=9 =>R= - C9(884) = - 115
![Page 61: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/61.jpg)
Copyright © Epum/Lirmm61
Base 2 – Addition en complément à 1
14 = 01110 14 = 01110-13 =-01101 +(-13)= 10010
-------100000+ 1-------00001 Signe=0 => R=(00001)2=(1)10
13 = 01101 13 = 01101-14 = -01110 +(-14)= 10001
-------011110+ 0-------11110 Signe=1 => R=-C1(11110)2
=-(00001)2 =-(1)10
![Page 62: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/62.jpg)
Copyright © Epum/Lirmm62
Addition en complément à 1
Cas 1 : M>0 et N>0 S = M+N=> Résultat = M + N
Cas 2 : M>0 et N<0On effectue donc l'addition M + (2n-1-N).Si le résultat S est inférieur à 2n (bit de retenue à 0) on obtient:
S1 = M + (2n-1 - N)S2 = S1 + 0
C1(S2) = 2n-1 - (M - N + 2n-1)= N - M (Cas /M/ < /N/)
=> Résultat: R = -C1(S2) Si le résultat est supérieur à 2n (bit de retenue à 1) et si l'on ignore le bit de retenue(résultat - 2n) on obtient :
S1 = M + (2n-1 - N) - 2n= M - N - 1
S2 = S1 + 1= M - N (Cas /M/ > /N/)
=> Résultat: R = S2
![Page 63: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/63.jpg)
Copyright © Epum/Lirmm63
Addition en complément à 1
Cas 3 : M<0 et N<0 => signe(M)=signe(N)=1=> retenue = 1
On effectue donc l'addition (2n-1-M) + (2n-1-N).Le résultat est supérieur à 2n (bit de retenue à 1).Si l'on ignore le bit de retenue (résultat - 2n) onobtient :
S1 = (2n-1 - M) + (2n-1 - N) - 2n
= - M - N + 2n - 1 -1S2 = S1 + 1
= - M - N + 2n - 1C1(S2) = 2n-1 - (- M - N + 2n-1)
= M + N=> Résultat: R = -C1(S2)
![Page 64: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/64.jpg)
Copyright © Epum/Lirmm64
Dépassement de capacité
Remarque: Le résultat de l'opération doit être inférieure à 2N, c'est à dire qu'en valeur absolue sa représentation binaire comporte N bits au plus. Les cas qui peuvent poser problèmes sont ceux ou le signe des deux opérandes de l'addition est identique.
15 = 01111 15 = 01111+ 2 = +00010 + 2 = 00010
-------10001+ 0-------10001 Signe=1 => R=-C1(10001)2
=-(01111)2=-(15)10
Overflow = S(A).S(B).S(R) + S(A).S(B).S(R)
![Page 65: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/65.jpg)
Copyright © Epum/Lirmm65
Multiplication par bn
i=-m
n(N)b = pibi = (pn pn-1 ... p1 p0 , p-1 p-2 ... p-m)b
(pn pn-1 ... p1 p0 p-1 ... p-k , p-k-1 ... p-m)b = pibi+k
i=-m
n
pibi+k = bk *pibi = bk *(N)bi=-mi=-m
nn
Ecriture d ’un nombre n en base b :
Décalage de k positions vers la gauche :
Multiplication par une puissance de 2 => décalage
![Page 66: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/66.jpg)
Copyright © Epum/Lirmm66
Multiplication binaire
1 1 0 0 Multiplicande1 1 0 1 Multiplieur---------
1 1 0 0 Produit partiel0 0 0 0 Produit partiel
1 1 0 0 Produit partiel1 1 0 0 Produit partiel
-------------------1 0 0 1 1 1 0 0
1 2* 1 3--------
3 61 2
--------1 5 6
![Page 67: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/67.jpg)
Copyright © Epum/Lirmm67
A3 B0 A2B0 A1B0 A0B0
A3 B1 A2B1 A1B1 A0B1
A3 B2 A2B2 A1B2 A0B2
A3 B3 A2B3 A1B3 A0B3
P1P2P3P4
P1 + P2 = R1 => R1 + P3 = R2 => R2 + P4 = S
+
Ri Ai-1Bj
Ri+1
Multiplieur
S = A * B
A=A3 A2 A1A0 B=B3 B2 B1 B0
S=S7S6S5S4S3 S2 S1S0B3 B2 B1 B0
A3 A2 A1 A0
*
S7 S6 S5 S4 S3 S2 S1 S0
![Page 68: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/68.jpg)
Copyright © Epum/Lirmm68
A3 B0 A2B0 A1B0 A0B0
A3 B1 A2B1 A1B1 A0B1
A3 B2 A2B2 A1B2 A0B2
A3 B3 A2B3 A1B3 A0B3
S7 S6 S5 S4 S3 S2 S1 S0
+ + + +
+ + + +
+ + + +
B0
B1
B2
B3
A0A1A2A3
A0A1A2A3
A0A1A2A3
A0A1A2A3
0
0
0
0
Multiplieur
![Page 69: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/69.jpg)
Copyright © Epum/Lirmm69
Complément à 2
Multiplieur en complément à 2
22 21 20 N 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 -4 1 0 1 -3 1 1 0 -2 1 1 1 -1
A = - an-1.2n-1 + ai.2ii=0
n-2
![Page 70: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/70.jpg)
Copyright © Epum/Lirmm70
Multiplieur en Complément à 2
X = - xn-1.2n-1 + xi.2ii=0
n-2
432
03
33
2
0
2
0
2
0
633
7
2
03
333
2
0
332
0
2
0
633
2
03
33
2
0
32
0
2
0
633
2
0
33
2
0
33
22'.2'.222
12)'.(2212'.2222
2)(22)(222.
22
22
ii
i
i
ii
ji
ij
ji
ii
i
i
ii
ji
ij
ji
ii
i
i
ii
ji
ij
ji
i
ii
i
ii
)b(a)b(ababa
ba)b(ababa
babababaBA
aaA
bbB
=> -X = -2n + C1(X) + 1
C2(X) = 2n - X
![Page 71: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/71.jpg)
Copyright © Epum/Lirmm71
Multiplieur en Complément à 2
= a0b020 + a1b021 + a2b022
+ a0b121 + a1b122 + a2b123
+ a0b222 + a1b223 + a2b224
+ a0b323 + a1b324 + a2b325
+ a3b023 + a3b124 + a3b225
+ 24 + a3b326 - 27
![Page 72: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/72.jpg)
Copyright © Epum/Lirmm72
Multiplieur en Complément à 2
P7 P6 P5 P4 P3 P2 P1 P0
+ + + +
+ + + +
+ + + +
A0B0A1B0A2B0A3B0
A0B1A1B1A2B1A3B1
A0B2A1B2A2B2A3B2
A0B3A1B3A2B2A3B3
1
0
0
0
Signe
![Page 73: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/73.jpg)
Copyright © Epum/Lirmm73
Multiplieur en Complément à 2
33
333
2
03
33
2
0
63
63
72
0
2
0
633
33
333
2
03
33
2
0
63
663
62
0
2
0
633
663
63
33
333
2
03
33
2
0
63
63
2
0
2
0
633
2
0
33
32
0
33
32
0
2
0
633
2
03
32
03
32
0
2
0
633
2
0
33
2
0
33
222'2'2'2'222
222'2'2'22'222
22'2or
222'2'2222
12)'(2212'2222
2)(22)(222.
22
22
ab)b(a)b(abababa
ab)b(a)b(abababaP
aa
ab)b(a)b(abababa
ba)(abbaba
baabbabaBAP
aaA
bbB
ii
i
i
ii
ji
ij
ji
ii
i
i
ii
ji
ij
ji
ii
i
i
ii
ji
ij
ji
ii
i
i
ii
ji
ij
ji
ii
i
i
ii
ji
ij
ji
i
ii
i
ii
![Page 74: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/74.jpg)
Copyright © Epum/Lirmm74
Multiplieur en Complément à 2
P7 P6 P5 P4 P3 P2 P1 P0
+ + +
+ + +
+ + +
A0B0A1B0A2B0
0
A3B0
00A2B1 A0B1A1B1
+ + +
A0B2A1B2A2B2
+ B3
A3
A3B1
A3B2
+
+
1
B3
A0B3
A3
A1B3A2B2A3B3
ignoré
Signe
![Page 75: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/75.jpg)
Copyright © Epum/Lirmm75
1 0 1 1- 1 0 0 1---------------0 0 1 0 0
- 1 0 0 1---------------
0 1 0 0 0- 1 0 0 1
----------------1 0 0 0 0
- 1 0 0 1-----------------
0 1 1 1
1 ,0 0 1
1 0 0 1
1
0
0
1
Soustraction 5 bits
Exemple : 11 / 9
Division Binaire
1 1 9
2 0 1 , 2 2 ...2 0
2
![Page 76: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/76.jpg)
Copyright © Epum/Lirmm76
- 0 1 0 0Q R R R R
R R R R
1 0 1 1- 0 1 0 0 10
1 0- 0 1 0 0 10
1 0 1- 0 1 0 0 10
1 0 1 1- 0 1 0 0 11
0 0 1 0 0- 0 1 0 0 10
0 1 0 0 0- 0 1 0 0 10
1 0 0 0 0- 0 1 0 0 11
0 1 1 1 0- 0 1 0 0 11
Si R>B alors Q=1 et R-Bsinon Q=0 et R
Diviseur
S = A / B
A=A3 A2 A1A0 B=B3 B2 B1 B0
S=S7S6S5S4,S3 S2 S1S0
![Page 77: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/77.jpg)
Copyright © Epum/Lirmm77
R
+
01
+ -
R B
Si alors
Ci+1 Ci
- Si
B-
R
RSi
CiCi+1+
Bo+ - + - + -
B1B2+ -
B30+ -
0
Bo+ - + - + -
B1B2+ -
B30+ -
0
Bo+ - + - + -
B1B2+ -
B30+ -
0
Bo+ - + - + -
B1B2+ -
B30+ -
0
Bo+ - + - + -
B1B2+ -
B30+ -
0
Bo+ - + - + -
B1B2+ -
B30+ -
0
Bo+ - + - + -
B1B2+ -
B30+ -
0
A3
A2
A1
A0
0
0
0
0 0 0 0
Q3
Q2
Q1
Q0
Q-1
Q-2
Q-3
Diviseur
![Page 78: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/78.jpg)
Copyright © Epum/Lirmm78
A0A1A2A3
C0=0C1C2C3C4
S0S1S2S3
Complément à 2 série
Ci+1
Ai
Ci
Si
Ai
Ci+1 Ci
Si
D Q
H
Ai
Ci+1Ci
Si
D Q
H
![Page 79: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/79.jpg)
Copyright © Epum/Lirmm79
Additionneur série
D Q
H
Ai
Ci+1Ci
Si
D Q
H
A0B0A1B1A2B2A3B3
C0=0C1C2C3C4 + + + +
S0S1S2S3
Ci+1
Ai Bi
Ci
Si
Ci+1
Ai Bi
Ci
Si
Bi
![Page 80: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/80.jpg)
Copyright © Epum/Lirmm80
Multiplieur séquentiel 1
(A) 1110(B) 1011-------------
R2R1 0000 0000 Initialisation de R1 et R2+A*20 1110 b0=1 => on ajoute A*20
-------------R2R1 0000 1110 Décalage de B => B=(0101)+A*21 1 110 b0=1 => on ajoute A*21
-------------R2R1 0010 1010 Décalage de B => B=(0010)+0*22 b0=0 => on ajoute 0*22
-------------R2R1 0010 1010 Décalage de B => B=(0001)+A*23 111 0 b0=1 => on ajoute A*23
-------------R2R1 1001 1010 Fin
![Page 81: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/81.jpg)
Copyright © Epum/Lirmm81
Multiplieur séquentiel 2
(A) 1110(B) 1011
---------------R3R2R1 0 0000 0000 Initialisation de R3 R2 R1+A 1110 b0=1 => (R2 + A -> R3R2)
---------------R3R2R1 0 1110 0000 Décalage de R3R2R1R3R2R1 0 0111 0000 Décalage de B => B=(0101) +A 1110 b0=1 => (R2 + A -> R3R2)
---------------R3R2R1 1 0101 0000 Décalage de R3R2R1R3R2R1 0 1010 1000 Décalage de B => B=(0010) +0 0000 b0=0 => (R2 + 0 -> R3R2)
---------------R3R2R1 0 1010 1000 Décalage de R3R2R1R3R2R1 0 0101 0100 Décalage de B => B=(0001) +A 1110 b0=1 => (R2 + A -> R3R2)
---------------R3R2R1 1 0011 0100 Décalage de R3R2R1R3R2R1 0 1001 1010 Fin
![Page 82: Ecole Polytechnique Universitaire de Montpellier ... · 2 Copyright © Epum/Lirmm Notion de code Soit I un ensemble fini ou infini d'éléments et C un ensemble fini de symboles](https://reader034.vdocuments.us/reader034/viewer/2022043022/5f3dd80633ecda2f18765f52/html5/thumbnails/82.jpg)
Copyright © Epum/Lirmm82
Multiplieur séquentiel 3
(A) 1110---------------
R3R2R1 0 0000 1011 Initialisation de R3R2R1 (B->R1)+A 1110 b0(R1)=1 => (R2 + A -> R3R2)
---------------R3R2R1 0 1110 1011 Décalage de R3R2R1R3R2R1 0 0111 0101 b0(R1)=1 => (R2 + A -> R3R2) +A 1110
---------------R3R2R1 1 0101 0101 Décalage de R3R2R1R3R2R1 0 1010 1010 b0(R1)=0 => (R2 + 0 -> R3R2) +0 0000
---------------R3R2R1 0 1010 1010 Décalage de R3R2R1R3R2R1 0 0101 0101 b0(R1)=1 => (R2 + A -> R3R2) +A 1110
---------------R3R2R1 1 0011 0101 Décalage de R3R2R1R3R2R1 0 1001 1010 Fin