Académique Documents
Professionnel Documents
Culture Documents
Dans un calculateur, un nombre est toujours écrit sous forme d’un bloc de n éléments
binaires (considéré comme un entier N). Pour représenter les nombres fractionnaires il est
nécessaire de définir la position de la virgule. Pour ce faire, il existe deux méthodes :
On décide que la virgule est toujours à une position donnée (un entier peut être représentatif
d’un nombre fractionnaire si on connaît la place de la virgule).
Exemple 1
Exemple 2
Si on décide de définir 2 symboles pour les parties entières et 2 symboles pour les parties
fractionnaires, on ne peut plus écrire 256,1.
– utilisation limitée lorsqu’on traite des données de grandeurs différentes, car on doit prendre
un grand nombre de bits de part et d’autre de la virgule pour pouvoir représenter
2ème approche :
C’est la méthode inverse de la précédente : on considère que le bit le plus à gauche de la
mantisse a pour poids 2-1
Exemple
Un entier signé ou entier relatif est un entier qui porte un signe (+) ou (-). Par
convention le signe (+) est codé en 0 et (-) en 1. Dans la représentation binaire des entiers
signés, le signe est le bit situé à l’extrême gauche. On utilise généralement trois notations ou
écritures ou codages binaires pour exprimer un nombre signé :
1- Le codage en grandeur exacte ou valeur absolue et signe en abrégée VAS qui sera
utilisé le long du chapitre
2- Le codage en complément à 1 ou complément restreint (nous adoptons l’abréviation
CR pour designer ce type de codage)
3- Le codage en complément à 2 ou complément vrai qui sera noté CV
Lors du codage d’un entier signé il est impératif de préciser le nombre de bits sur lequel
le codage s’effectue et le système de codage utilisé (VAS ou CR ou CV).
Dans la représentation en VAS d’un entier relatif on conserve le code binaire naturel de
la valeur absolue de cet entier auquel on ajoute le bit de signe. Comme il est codé sur n bits
les nombres possibles de coder sont les entiers appartenant à l’intervalle [-2n +1 ; 2n-1]. Le
bit de signe n’étant pas compté.
Les nombres représentables en VAS sur appartiennent à l’intervalle [-25 +1 ; 25-1] = [-31 ; 31] ;
Les nombres représentables en CR sur appartiennent à l’intervalle [-25 +1 ; 25-1] = [-31 ; 31] ;
Les nombres possibles d’écrire en CR sur n bits sont dans l’intervalle [-2n +1 ; 2n-1]. Le
bit de signe n’étant pas compté. La représentation d’un entier positif en CV est identique à
sa représentation en CR donc même qu’en VAS. Par contre la notation d’un entier négatif
en CV s’obtient à partir de son écriture en CR auquel on rajoute 1.
Les nombres représentables en CR sur appartiennent à l’intervalle [-25 +1 ; 25-1] = [-31 ; 31] ;
Exercices
1- Représenter les nombres signés suivants en notation VAS, CR et CV en utilisant 8 bits y
compris le bit de signe : a) +31 b) -14 c) 63 d) -104 e) - 1 f) -128 g) +128
2- Voici une liste de nombres codés en CV, donner la valeur décimale de ces nombres :
a) 01101 b) 11101 c) 01111011 d) 10011001 e) 0111111111 f) 1000000
g) 1111111 h) 10000001
3- a) Dites quelle est l’intervalle des valeurs entières signées que l’on peut représenter avec 12 bits
y compris le bit de signe ?
b) Combien de bits faut-il pour coder en binaire les entiers relatifs compris entre +32768 et –
c) 32767 ?
Avant d’aborder les différentes méthodes de calcul nous indiquons les règles élémentaires
qui sont utilisées pour effectuer ces différentes opérations :
Addition élémentaire
L’addition en binaire se fait avec les mêmes règles qu’en décimal : on commence par
additionner les bits de poids faibles ; on a des retenues lorsque la somme de deux bits de
même poids dépasse la valeur de l’unité la plus grande (dans le cas du binaire : 1) ; cette
retenue est reportée sur le bit de poids plus fort suivant.
La table d’addition binaire est la suivante :
Exemple
Soit à effectuer l’addition de deux nombres binaires A et B tels que :
A= 11001011 (203 en décimal)
B= 10011110 (158 en décimal)
Au premier rang (20), il n’y a pas de retenue et le total A0+B0 est
bien égal à 1,
Le résultat définitif est donc 101101001 soit 361 en décimal qui correspond bien à 203 + 158.
Soustraction élémentaire
Exemple
2-1 Addition –Soustraction en valeur absolue et signe VAS
Si les nombres ont le même signe, on effectue les sommes de la valeur absolue et le résultat
Règle :
Exemple :
Effectuer en VAS/4 les opérations suivantes : (i) 5+3 ; (ii) -5-3 ; (iii) -5+3 (iv) -5+5
0 0101 1 0101 1 0101 1 0101
+ + - -
0 0011 1 0011 0 0011 0 0 101
=0 1000 =1 1000 =1 0010 =1 0 00 0 -0
Ou
+8 (i) -8 (ii) -2 (iii) 0 000 0 +0
(iv)
(1
Remarque
Dans les calculs en VAS les bits de signe n’étant pas affectés par les opérations, il ressort
que zéro a deux représentations (+ 0 ou -0) puisque les nombres dont la différence donne zéro
sont toujours égaux en valeur absolue.
La plus part des machines modernes utilisent la notation CV pour représenter les nombres
négatifs. Ainsi la soustraction revient à une opération d’addition. C’est un grand avantage non
négligeable puisqu’ainsi, dans les machines numériques, un seul et même circuit réalise l’addition et
la soustraction ce qui économise les nombres de circuits nécessaire. Nous limiterons ainsi à l’addition
en CV.
2.2.1 Addition en CV
Soit l’addition de + 9 et de + 4 :
+9 0 1001 cumulande
+4 0 0100 cumulateur
0 1101 somme = + 13
Bits de signe
Remarquez que les bits de signe du cumulande et du cumulateur sont 0 et que celui de la
somme est aussi 0, ce qui indique un nombre positif. Notez aussi qu’on a fait de sorte que le
cumulande et le cumulateur aient le même nombre de bits. Il faut toujours s’assurer de cela
dans la notation en complément à 2.
Soit l’addition de + 9 et - 4.
+9 0 1001 cumulande
-4 1 1100 cumulateur
1 0 0101
Dans ce cas si le bit de signe du cumulateur est 1. Remarquez que les bits de signe sont aussi
additionnés. En fait un report est produit au moment de l’addition du dernier rang ce report est
toujours rejeté d’où la somme finale de 00101 soit le décimal +5
Soit - 9 et + 4 .
9 1 0111
+4 0 0100
1 1011 somme = -5
Dans ce cas si le bit de signe de la somme est 1 ce qui un nombre négatif. Comme la
somme est un nombre négatif, la réponse est le complément à deux de la grandeur exacte.
Donc 1011 est en réalité le complément à 2 de la somme. Pour trouver la grandeur exacte de
la somme, on doit prendre le complément à 2 de 1011, ce qui donne 0101 (5) ; la réponse est
donc (-5).
-9 1 0111
-4 1 1100
1 1 0011
Bit de signe
Ce reporte n’est pas pris en compte, le résultat est donc 10011.
Le résultat définitif est de nouveau négatif, et la réponse trouvée est le complément à 2 de la réponse
précédé du bit de signe 1. Remarquez que 0011 est le complément à 2 de 1101 ( 13)
-9 1 0111
+9 0 1001
= 0 100000
2.2.2 Soustraction en CV
Une soustraction peut toujours, si on rend négatif son second terme, se ramener à une
addition, ainsi :
[A-B]= [A+(-B)]
La méthode la plus utilisée pour rendre négatif un nombre binaire est la méthode du
complément à 2.
Exemple soit l’opération précédente : 195 –96. En effet 195 – 96 = 195 + (-96) soit en binaire
:
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 en effet sur n bit les entiers possibles d’être
représenté sont dans l’intervalle [-2n +1 ; 2n-1]. Les cas qui peuvent poser problèmes sont
ceux ou le signe des deux opérandes de l'addition est identique. Dans ce cas, il peut y avoir
dépassement ou débordement de capacité ou overflow et l'addition de deux nombres
positifs peut donner un résultat négatif. Un bit de signalisation de dépassement de capacité
(Overflow flag) est généré par le calculateur.
Effectuer l’opération suivante pour s’en rendre compte -9-8 et 9+8
Exercices
1- Effectuer les opérations suivantes en CV sachant les nombres sont exprimés en VAS
a/ 11011011-01101011 ; b/ 1011 – 0011 ; c/ 01101011 – 11011011
2- Effectuer sur cinq bits les opérations suivantes en VAS et en CV
a/ 31-24 ; b/ 15 + 8 ; c/ 8 - 8 ; d/ - 8-15 e/ - 24 – 31
Rappel : Dans le code DCB, chaque chiffre décimal (0,1, . . . ,9) est codé en binaire avec 4
éléments binaires. Il ne faut pas confondre le code DCB et le code binaire pur : quand on code
selon le code binaire pur on prend le nombre dans son intégralité et on le convertit ; par
contre, quand on code en DCB on code chaque chiffre indépendamment les uns des autres.
Comme tous les systèmes de codage pondérés, il est possible d’appliquer des opérations
arithmétiques aux nombres codés en DCB. L’arithmétique DCB est en fait une arithmétique
modulo 6.
L’addition de deux nombres codés en DCB ne pose pas de problème tant que le résultat est
inférieur ou égal à 9 :
Par contre, dès que le résultat est supérieur à 9, il faut apporter une correction en
additionnant 6, de manière à obtenir une réponse valide. Ceci est dû au fait que l’on
représente un nombre modulo 10 avec un code modulo 16 : 16 = 10 - 6.
La correction est ici évidente, puisque la valeur obtenue est invalide en codage DCB.
L’exemple suivant est moins évident :
Dans ce dernier exemple, la correction est due au fait qu’il a eu débordement sur les 4 bits
de poids faible du mot DCB : il faut donc apporter une correction sur ces 4 bits de poids
faible.
Note
- lorsque le résultat de l'addition DCB est inférieur à 9, on ne change pas le résultat ;
- lorsque le résultat de l'addition DCB est supérieur à 9, on ajoute 6 au résultat pour obtenir la
valeur exacte ;
- lorsqu'il y a une retenue auxiliaire (ou décimale) (auxiliary ou decimal carry), on ajoute
également 6 au résultat obtenu, même si la valeur est inférieure à 9.
Les propriétés énoncées ci-dessus pour les chiffres des unités sont évidemment valables
pour les dizaines, les centaines, etc. La correction à apporter sera alors – selon les
circonstances + 6, + 60, +66, etc.
Note
- lorsque le résultat de la soustraction DCB est inférieur à 9, on ne change pas le résultat
;
- lorsque le résultat de la soustraction DCB est supérieur à 9, on soustrait 6 au résultat
pour obtenir la valeur exacte ;
- lorsqu'il y a une retenue soustractive (borrow), on soustrait également 6 au résultat
obtenu, même si la valeur est inférieure à 9.
Exercice :
Effectuer en BCD
3 MULTIPLICATION BINAIRE
Les règles de calcul sont faciles car ici on n’a que deux nombre contrairement en décimal où
on a une table de multiplication.
0 0 1 1
X 0 X 1 X 0 X 1
=0 = 0 = 0 = 1
Lorsqu’on effectue une multiplication, on effectue l’opération sur la valeur absolue des
nombres puis on effectue au résultat le bit de négatif (1) si les nombres sont de signes
opposés, sinon on y affecte le bit de signe positif (0).
Exemple effectuer les opérations suivantes (i) +9 * (+2) et (-11) * (4)
(i) (ii)
0 1001 1 1011
X X
0 10 0
100
0000 0000
1001 0000
1011
= 0 10010 = 1 101100
Multiplication à CV
Dans les machines qui utilisent la notation à CV, la multiplication est effectué de la meme
façon que ci-dessus quand le multiplicateur et le multiplicande sont exprimés en notation
VAS. Si les deux nombres sont positifs, ils sont déjà dans cette notation et ils sont multipliés
tels quel. Le produit est évidemment positif et son signe est 0. Quand les deux nombres sont
négatifs, ils sont complémentés à 2. Ce sont ces compléments qu’on multiplie. Le produit est
un nombre positif dont le bit est 0. Quand un des deux nombres est positif et l’autre négatif,
le nombre négatif est complémenté à 2 d’abord pour obtenir une grandeur positive. Le produit
est exprimé selon la natation exacte. Cependant, le produit doit être négatif car les nombres
sont de signes opposés. Par conséquent, on complémente à 2 le produit et on ajoute le bit de
signe 1.
Exercice
4 ARITHMETIQUE HEXADECIMAL
La méthode du complément à deux en binaire peut être extrapolée pour toutes les autres
bases.
En binaire il faut faire le complément à 2 : le complément à 2 = (complément à 1) + 1
En décimal il faut faire le complément à 10 : le complément à 10 = (complément à 9) + 1
4.1.1Complément à b-1 d'un nombre N exprimé dans une base b par rapport à un radical
Le radical est une puissance de b qui doit être supérieure à la valeur de N. Pour trouver le
complément à b-1 de N par rapport à ce radical il faut soustraire N de ce radical diminué d'une
unité de poids le plus faible.
Exemple : Le complément à 9 de (527,1920)10 par rapport à (103)10 ou (1000)10 est:
(999,9999)10 - (527,1920)10 = (472,8079)10
D'autre part, le complément à b-1 peut être obtenu en complémentant chaque position de la
représentation à b-1.
4.1.1 Complément à b d'un nombre N exprimé dans une base b par rapport à un radical
Le radical est une puissance de b qui doit être supérieure à la valeur de N. Pour trouver le
complément à b de N, par rapport à ce radical, il suffit de soustraire le nombre N du radical.
Les règles sont les mêmes que celles de l’addition en décimal ou en binaire à la seule
différence que la retenue est égale à 1 dès que la somme de deux digits atteint 16.
A = CB soit 203(10)
B = 9E soit 158(10)
Exercice