0% ont trouvé ce document utile (0 vote)
46 vues17 pages

Systèmes de Numération en Complément À 2

Le document décrit les systèmes de numérotation en complément à 2. Il explique que ce système permet de représenter des nombres binaires de manière positive et négative en utilisant le bit le plus significatif comme bit de signe. Il définit également les compléments à 1 et à 2, en indiquant que le complément à 1 est obtenu en changeant chaque bit par son complément, tandis que le complément à 2 est obtenu en prenant le complément à 1 et en ajoutant 1 au bit de poids faible. Enfin, il compare différentes méthodes pour représenter des nombres signés dans un ordinateur, comme le signe et la magnitude, le complément.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
46 vues17 pages

Systèmes de Numération en Complément À 2

Le document décrit les systèmes de numérotation en complément à 2. Il explique que ce système permet de représenter des nombres binaires de manière positive et négative en utilisant le bit le plus significatif comme bit de signe. Il définit également les compléments à 1 et à 2, en indiquant que le complément à 1 est obtenu en changeant chaque bit par son complément, tandis que le complément à 2 est obtenu en prenant le complément à 1 et en ajoutant 1 au bit de poids faible. Enfin, il compare différentes méthodes pour représenter des nombres signés dans un ordinateur, comme le signe et la magnitude, le complément.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Systèmes de numérotation en

complément à 2

C'est un système qui nous permet de représenter des nombres binaires de manière négative, dans
où el MSB (Bit mas Significatif) es le bit supprimer
signe.

Si ce bit est 0 alors le nombre binaire est positif (+), si le bit de signe est 1,
alors le numéro est négatif (-) les sept bits restants du registre représentent la
magnitude du numéro 1010110, pour compléter mieux l'explication nous devrons
porter beaucoup d'attention à l'explication des conversions où intervient ce type de
numérotation, qui est assez utilisé dans les microprocesseurs, car ces derniers gèrent
tant nombres positifs comment nombres négatifs.

Pour mieux comprendre la conversion de système de numérotation de ce système de


numérotation, il faut tenir compte des définitions suivantes :

FORMA COMPLEMENTO À 1

Le complément à 1 d'un nombre binaire s'obtient en changeant chaque 0 par 1 et


vice versa. En d'autres mots, chaque bit du nombre est remplacé par son complément.

Figure 14 : Complément à un

FORMA COMPLEMENTAIRE A 2

Le complément à 2 d'un nombre binaire s'obtient en prenant le complément à 1, et


en ajoutant 1 au bit le moins significatif. Le processus est illustré ci-dessous pour le
9

Figure 15 : Complément à 2

Lorsque le bit de signe 1 est ajouté au MSB, le nombre en complément à 2 avec signe se
convertit en 10111 et c'est le nombre équivalent à - 9.
Complément A1

Puisque le système binaire n'a que deux états, le complément peut être obtenu
simplement en écrivant chaque bit dans son état opposé, c'est-à-dire que chaque 1 est remplacé par 0 et
chaque 0 est remplacé par 1

Numéro 10100011100

Complément A1 01011100011

Complément A2

Il existe 3 façons d'obtenir le complément A2 :

Restant le nombre par son complément

Base de complémentarité 10000000000

Numéro 1100110100

Complément A2 00011001100

Obtenir le complément A1 puis y ajouter 1

Numéro 1100110100
Complément A1 0011001011

Complément A2 0011001100

En commençant par le bit le moins significatif, écrire le nombre jusqu'à trouver le premier 1, à
À partir de ce nombre, changez les 1 par 0 et les 0 par 1.

Numéro 11001101 00

Complément A2 00110011 00

Représentation des nombres signé


De Wikipedia, l'encyclopédie libre

Sauter ànavigation, recherche

Enmathématiques, les nombres négatifs dans n'importe quelle base se représentent de la manière
habituel, précédé d'un signe «−». Cependant, dans uneordinateur, il y a
Différentes façons de représenter le signe d'un nombre. Cet article traite de quatre méthodes.
d'étendre lesystème binairepour représenter des nombres avec signe : signe et magnitude,
complement à un, complément à deuxy excès à bn-1.

Pour la plupart des utilisations, les ordinateurs modernes utilisent typiquement la


représentation en complément à deux, bien que d'autres puissent être utilisées dans certains
circonstances.

Dans les sections ci-dessous, nous nous référerons exclusivement au cas des nombres.
signés en binaire (et nous les comparerons avec le décimal à des fins pédagogiques), cela ne
cela signifie que ce qui est montré ici peut être appliqué de manière analogique à d'autresbases
(hexadécimal, uoctal, par exemple).
Contenu
[cacher]

1 Signe et Magnitude
o 1.1 Exemple de Signe et de Magnitude
1.2 Inconvénients de la représentation en Signo et Magnitude
o
1.3 Avantages de la représentation en Signe et Magnitude
o
2 Complément à la base moins un
o 2.1 Exemple de Complément à un
o 2.2 Inconvénients de la représentation en complément à un
o 2.3 Avantages de la représentation en complément à un
3 Complément à la base
o 3.1 Exemple de Complément à deux
o 3.2 Inconvénients de la représentation en complément à deux
o 3.3 Avantages de la représentation en complément à deux
4 En Excès à bn-1

4.1 Exemple de Excès 2n-1


o
4.2 Inconvénients de la représentation en excès 2n-1
o
4.3 Avantages de la représentation en excès 2n-1
o
5 Tableau de comparaison

[éditerSigne et Magnitude

Paran= 8 (8 bits) en Signe et Magnitude

Valeurs de 8 Interprété en Signe et Magnitude Interprété comme Entier sans signe


bits en décimal en décimal

00000000 0 0

00000001 1 1

00000010 2 2

... ... ...

01111110 126 126

01111111 127 127


10000000 -0 128

10000001 -1 129

10000010 -2 130

... ... ...

11111101 -125 253

11111110 -126 254

11111111 -127 255

Une première approche du problème de représenter un nombre signébitsconsiste en


assigner

1. un bit pour représenter le signe. Ce bit est souvent leun peu plus signifietvoo MSB (de
ses initiales en anglais) et, par convention : un 0 désigne un nombre positif, et un 1 désigne
un nombre négatif
2. les (n-1) bits restants pour représenter le signifiantquelle est la magnitude du nombre
envaleur absolue.

On l'appelle Signe et Magnitude.

Cette approche est directement comparable à la façon habituelle de montrer le signe


(en plaçant un « + » ou un « - » à côté de l'ampleur du nombre). Certaines des premières
Les ordinateurs binaires (l'IBM 7090) ont utilisé cette représentation, peut-être à cause de son
relation évidente avec la pratique habituelle.

Le format Signe et Magnitude est également habituel pour la représentation de


signifiant en chiffres enpoint flottant.

[éditerExemple de Signe et de Magnitude

Soit une représentation au format de signe et de magnitude qui nous permet de coder en
binaire enpoint fixeavec 8 bits (unoctet). Cela nous donne 1 bit pour le signe et 7 bits
pour la magnitude. Avec 8 bits, nous pouvons représenter, en théorie du moins (voir
Desavantages, plus bas), 28= 256 numéros. Lesquels, selon ce format, vont être
répartis entre 128 nombres positifs (bit de signe à 0) et 128 nombres négatifs (bit
de signe en 1).

Supposons maintenant que nous devons représenter le nombre -9710(décimal).


Nous procédons à :

Prendre note du signe du nombre -9710, que étant négatif, portera comme bit de signe
un 1;
10es |-9710| = 9710. Que en binaire est :
2. Réaliser la conversion : la valeur absolue de -97
11000012;
3. Mettre tout ensemble, le numéro -9710en binaire avec format de Signe et Magnitude c'est :
111000012. Où le bit le plus significatif indique un nombre négatif, et
11000012c'est la signification en valeur absolue.

Pour le cas inverse, donné un nombre binaire en Signe et Magnitude, par exemple,
101101012, nous procédons à :

1. Analyser le bit le plus significatif, qui étant un 1 indique que le nombre est négatif;
2. Convertir le signifiant à la base désirée, par exemple, en décimal, en prenant en
compte que la valeur obtenue est en valeur absolue et la magnitude réelle sera donnée par
le bit de signe obtenu auparavant : 01101012= |5310Étant donné que le bit de signe est 1, le
Le nombre réel est -5310. Si le bit de signe était 0, le nombre aurait été +5310.

[éditerInconvénients de la représentation en signe et


Magnitude

En poursuivant avec l'exemple den= 8 (8 bits).

Ne permet pasopérer arithmétiquetcamente. Essayer de faire une simple addition d'un


un nombre positif et un nombre négatif, des résultats incorrects sont obtenus. Par exemple :
000101012+ 111000012= 111101102(+2110+ -9710=-11810≠ -7610).
Possèdedouble représentation du zéro. En représentant en Signal et Magnitude, apparaît le
cero signado:000000002(+010) y100000002-010).

[éditerAvantages de la représentation en signe et


Magnitude

En suivant l'exemple, den = 8 (8 bits).

Possède une plage symétrique : les nombres vont de +12710=011111112, passant par le
+010=000000002et le -010=100000002, jusqu'à -12710=111111112. Et en forme
général, paran-bits, le intervalle (en décimal) pour le Signe et la Magnitude est (-2n-1-1n-1-1), o
bien ± 2n-1-1.

[éditerComplément à la base moins un


Article principal :Complémenttou un
Paran= 8 (8 bits) en Complément à un

Valeurs de 8 Interprété en complément à Interprété comme entier sans


bits un en décimal signe en décimal

00000000 0 0

00000001 1 1

00000010 2 2

... ... ...

01111110 126 126

01111111 127 127

10000000 -127 128

10000001 -126 129

10000010 -125 130

... ... ...

11111101 -2 253

11111110 -1 254

11111111 -0 255
Une autre approche consisterait à représenter les nombres négatifs en utilisant le complément à la base.
moins un. Dans le cas des nombres binaires, ce serait le complément à un et la forme
Le complément à un d'un nombre binaire est unPASbit à bit appliqué au nombre, c'est
dire, l'inversion de unos par des zéros et des zéros par des uns. De cette façon, dans la
représentation par complément à un d'un nombre signé en bits assignés :

1. un bit pour représenter le signe. Ce bit est souvent le bit le plus significatif et, pour
convention : un 0 désigne un nombre positif, et un 1 désigne un nombre négatif ;
2. les (n-1) bits restants pour représenter la signification qui est la magnitude du nombre
en valeur absolue pour le cas des nombres positifs, ou bien, en complément à un
du valeur absolue du nombre, en cas d'être négatif.

Observer ainsi que la représentation en Complément à un d'un nombre négatif se


vous pouvez obtenir de la représentation en signe et en magnitude par une simple inversion de quelques uns
par des zéros et des zéros par des uns du significatif.

Ce système numérique de représentation était courant dans les anciens ordinateurs ; le


PDP-1et la série UNIVAC 1100/2200, parmi beaucoup d'autres, ont utilisé l'arithmétique dans
complément à un.

[éditerExemple de Complément à un

Soit une représentation au format de complément à un qui nous permet de coder en


binaire en point fixe avec 8 bits (un octet). Comme pour la représentation en Signe et
Magnitude, cela nous donne 1 bit pour le signe et 7 bits pour la magnitude. Avec 8 bits,
nous pouvons représenter, en théorie du moins (voir à nouveau Désavantages, plus bas), 28
= 256 numéros. Lesquels, selon ce format, vont être répartis entre 128
nombres positifs (bit de signe à 0) et 128 nombres négatifs (bit de signe à 1).

Supposons maintenant que nous devons représenter le nombre -9710. Nous procédons à :

1. Prendre note du signe du nombre -9710, que étant négatif, portera comme bit de signe
un 1
2. Comme le signe est négatif, le nombre suivant le bit de signe devra
s'exprimer en complément à un. Lors de la conversion : la valeur absolue de -9710
es |-9710| = 9710. Que en binaire est : 11000012, et le complément à un de 11000012es
C1(1100001) = 00111102;
3. Mettre tout ensemble, le numéro -9710en binaire avec format de complément à un est :
100111102. Où le bit le plus significatif indique un nombre négatif, et
00111102c'est la signification en complément à un de la valeur absolue du nombre.

Pour le cas inverse, donné un nombre binaire en complément à un, par exemple,
101101012, nous procédons à :

1. Analyser le bit le plus significatif, qui étant un 1 indique que le nombre est négatif;
2. Convertir la signification à la base souhaitée, par exemple, en décimal, en prenant en
compte que : la valeur obtenue est en valeur absolue, que la magnitude réelle sera donnée
par le bit de signe obtenu précédemment, et qui, en cas de bit de signe négatif (comme c'est
le cas) il faudra obtenir le complément à un : C1(0110101) = 10010102= |7410|.
Étant donné que le bit de signe est 1, le nombre réel est -7410. Si le bit de signe était 0, le
le numéro aurait été 01101012= +5310(sincomplementar à un).

[éditerInconvénients de la représentation en
Complément à un

En suivant l'exemple den= 8 (8 bits).

Possèdedouble représentation du zéro. En représentant en Complément à un, il apparaît


à nouveau le zéro signé : 000000002(+010) y111111112(-010).

[éditerAvantages de la représentation en complément


à un

En continuant avec l'exemple den= 8 (8 bits).

Possède une plage symétrique : les nombres vont de +12710=011111112, passant par le
+010=000000002et le -010=111111112, jusqu'à -12710=100000002. Et en forme
général, bits-paran, le rang (en décimal) pour le Complément à un est (-2n-1-1n-1-1),
ou bien ± 2n-1-1.
Permet de fonctionner arithmétiquement. REMARQUE : lors de l'opération, il faut ajouter le report obtenu.
à la fin de l'addition/la soustraction effectuées (connu sous le nom de transport en fin de boucle), en cas de
l'avoir obtenu, pour obtenir le bon résultat. Par exemple : 000101012+
100111102= 101100112(+2110+ -9710= -7610) puisque le report circulaire est zéro;
mais, 000000102+ 111111102=1000000002(+2110+ -97dix= -010≠ +110), que nous corrigeons
par le biais de 000000102+ 111111102= 000000002+12= 000000012, quel est le résultat
correct

LesprocolosdeInternetIPv4, ICMP, UDPyTCPils utilisent tous le même algorithme de


somme de contrôlede 16 bits en complément à un. Bien que la plupart des
les ordinateurs manquent du matériel pour gérer le dépassement du dernier bit (end-around
porter), la complexité supplémentaire est acceptée car elle est également sensible aux erreurs dans
toutes les positions de bits. Dans UDP, une représentation de tous les zéros indique que la
La somme de contrôle optionnelle a été omise. L'autre représentation, tous un,
indique une valeur 0 dans la somme de contrôle (les sommes de contrôle sont obligatoires)
pour IPv4, TCP et ICMP ; ont été omis dans IPv6).

[éditerComplément à la base
Article principal :Complémenttà dos

Paran= 8 (8 bits) en Complément à deux

Valeurs de 8 interprétées en complément à deux Interprété comme un entier sans


bits en décimal signe en décimal

00000000 0 0
00000001 1 1

00000010 2 2

... ... ...

01111110 126 126

01111111 127 127

10000000 -128 128

10000001 −127 129

10000010 -126 130

... ... ...

11111101 -3 253

11111110 -2 254

11111111 -1 255

Une autre approche consisterait à représenter les nombres négatifs en utilisant le complément à la base.
le cas des nombres binaires, serait le complément à deux et la façon de l'obtenir
le complément à deux d'un nombre binaire est obtenu par l'obtention du complément à
un et y ajouter un, ou bien :

Exemple 1

En commençant par la droite, nous trouvons le premier '1' 01010010101100


2. Nous faisons un NON à tous les bits restants à gauche 10101111010100

De cette manière, dans la représentation par complément à deux d'un nombre signé
bits que nous assignons :

1. un bit pour représenter le signe. Ce bit est souvent le bit le plus significatif et, par
convention : un 0 dénote un nombre positif, et un 1 dénote un nombre négatif ;
2. les (n-1) bits restants pour représenter la signification qui est la magnitude du nombre
en valeur absolue pour le cas des nombres positifs, ou bien, en complément à deux
du valeur absolue du nombre, en cas d'être négatif.

Observez ainsi que la représentation en complément à deux d'un nombre négatif se


vous pouvez obtenir de la représentation en signal et magnitude par une simple inversion de quelques-uns
par des zéros et des uns du sens, et ajouter un au résultat obtenu.

[éditerExemple de complément à deux

Soit une représentation au format de complément à deux qui nous permet de coder en
binaire en point fixe avec 8 bits (un octet). Tout comme avec la représentation en Signe et
Magnitude, et Complément à un, cela nous octroie 1 bit pour le signe et 7 bits pour le
magnitude. Avec 8 bits, nous pouvons représenter, 28= 256 nombres. Lesquels, selon ceci
format, ils vont être répartis entre 128 nombres positifs (bit de signe à 0) et 128
nombres négatifs (bit de signe à 1).

Supposons maintenant que nous devons représenter le nombre -9710. Nous procédons à :

Prendre note du signe du nombre -9710, que étant négatif, portera un bit de signe
un 1
2. Comme le signe est négatif, le nombre qui suit le bit de signe devra
s'exprimer en complément à deux. Lors de la conversion : la valeur absolue de -9710
es |-97dix| = 9710. Que en binaire est : 11000012, et le complément à un de 11000012es
C1(1100001) = 00111102, nous y ajoutons un pour obtenir le complément à deux :
00111102+ 00000012= 001111112;

Mettre tout ensemble, le nombre -9710en binaire avec format de complément à deux est :
100111112Où le bit le plus significatif indique un nombre négatif, et
00111112c'est la signification en complément à deux de la valeur absolue du nombre.

Pour le cas inverse, donné un nombre binaire en complément à deux, par exemple,
101101012, nous procédons à :

1. Analyser le bit le plus significatif, qui étant un 1 indique que le nombre est négatif ;
2. Convertir le signifiant à la base désirée, par exemple, en décimal, en prenant en
compte que : la valeur obtenue est en valeur absolue, que la magnitude réelle sera donnée
pour le bit de signe obtenu auparavant, et qui, s'il s'agit d'un bit de signe négatif (comme c'est le cas
le cas) il faudra obtenir le complément à deux : C2(0110101) = C1(0110101) +
00000012, puis C1(0110101) = 10010102, et en ajoutant 1, 10010112= |7510En étant
que le bit de signe est 1, le nombre réel est -7510. Si le bit de signe était 0, le nombre
aurait été 01101012= +5310(sincomplementar à deux).
[éditerInconvénients de la représentation en
Complément à deux

En suivant l'exemple den= 8 (8 bits).

Il possède une plage asymétrique : les nombres vont de +12710011111112, passant par le
+010,000000002. Et ici apparaît la première différence, le111111112, ce n'est plus -010comment
dans la représentation précédente, c'est -110, et en arrivant à 100000002nos
nous avons trouvé que le complément à deux de 100000002es100000002, le même
nombre !. Par convention, on attribue à ce nombre particulier la valeur -1282(para 8
bits). Ensuite, de manière générale, paran-bits, la plage (en décimal) pour le Complément à
dos est (-2n-1; 2n-1-1).

[éditerAvantages de la représentation en Complément


un dos

En suivant l'exemple, den= 8 (8 bits).

Il n'a pas de double représentation du zéro.


Permet de fonctionner arithmétiquement.

[éditer] En Excès à bn-1

Paran= 8 (8 bits) en Excès à 127

Valeurs de 8 Interprété en Excès à 127 en Interprété comme un entier sans signe


morceaux décimal en décimal

00000000 -127 0

00000001 -126 1

00000010 -125 2

... ... ...

01111110 -1 126

01111111 0 127
10 000 000 1 128

10000001 2 129

10000010 3 130

... ... ...

11111101 126 253

11111110 127 254

11111111 128 255

Une dernière approche au problème de représenter un nombre signé en n-bits consiste à


assigner la valeur réelle du nombre à représenter, lui ajouter la base élevée au nombre
de chiffres qui sont disponibles, et d'en soustraire un. Dans le cas particulier de la base 2,
système binaire, le numéro xen den-bits est représenté comme x + 2n-1. Cela est connu
comme représentation en Excès à bn-1, puisque chaque nombre est additionné au même
valeur et est en excès pour cette valeur.

Le format excessif est habituel pour la représentation de l'exposant dans les nombres.
point flottant, par exemple, pour la normeIEEE-754.

[éditerExemple d'Excès 2n-1

Soit une représentation en format de Excès qui nous permet de coder en binaire en
point fixe avec 8 bits (un octet). Ensuite, les nombres de 8 bits seront représentés en Excès
a 28-1= 12710Avec 8 bits, nous pouvons représenter, 28= 256 nombres.

Supposons maintenant que nous devions représenter le nombre -9710(décimal).


Nous procédons à :

Prendre le numéro -9710et y ajouter l'excès, dans ce cas 12710, puis -9710+ 12710=
3010;
2. Convertissons en binaire, dans ce cas. Puis, 3010= 000111102.

Pour le cas inverse, donné un nombre binaire en Excès 12710, par exemple, 101101012,
nous procédons à :

2= 18110;
1. Convertissez le nombre à la base désirée, par exemple, en décimal : 10110101
2. Mais la valeur obtenue est en excès de 127, nous devons donc lui enlever cet excès,
restant 127 : 18110- 12710= 5410.

[éditerInconvénients de la représentation en excès 2n-


1

En suivant l'exemple, den = 8 (8 bits).

Nécessite des opérations arithmétiques intermédiaires pour son obtention, et de changer le


nombre de bits qui doivent mettre à jour ces opérations intermédiaires pour refléter le
nouveau excès.
Possède un rang asymétrique : celui-ci va de +12810=111111112jusqu'à -12710=000000002. Y
en forme générale, paran-bits, la plage (en décimal) pour Exceso 2nes (-2n-1-1; 2n-1).

[éditerAvantages de la représentation en excès 2n-1

En suivant l'exemple, den = 8 (8 bits).

Permet d'opérer arithmétiquement, mais il faut prendre en compte que chaque opération
il entraîne un excès et cela doit être soustrait du résultat final, pour corriger la
représentation. Par exemple, 000111102+ 101101012= 110100112(-9710+ 5410= 21110
≠ -4310). Le résultat, en apparence excessif 12710, 21110, en enlevant cet excès, c'est 21110
- 12710= 84dix. Mais il faut garder à l'esprit que lors de l'addition de deux nombres avec excès
127dix, nous devons soustraire, deux fois l'excès. Puis 8410- 12710= -43dix, qu'est-ce que le
résultat correct.
Il n'y a pas d'emballage du numéro. Par cela, nous entendons qu'il n'est pas nécessaire de se souvenir.
que parties du nombre sont signe et signifiant, sinon que les n-bits, sont le nombre.

[éditerTableau de comparaison

Le tableau suivant compare la représentation des entiers entre 8 et -8 (inclus)


en utilisant 4 bits.

Représentation des entiers de 4 bits

Entrée sans Signo et Complément Complément En excès à


Décimal
signe Magnitude à un un dos 7

+8 1000 n/d n/d n/d 1111

+7 0111 0111 0111 0111 1110

+6 0110 0110 0110 0110 1101


+5 0101 0101 0101 0101 1100

+4 0100 0100 0100 0100 1011

+3 0011 0011 0011 0011 1010

+2 0010 0010 0010 0010 1001

+1 0001 0001 0001 0001 1000

+0 0000 0000 0000 0000 0111

-0 n/d 1000 1111 n/d n/d

-1 n/d 1001 1110 1111 0110

-2 n/d 1010 1101 1110 0101

-3 n/d 1011 1100 1101 0100

-4 n/d 1100 1011 1100 0011

-5 n/d 1101 1010 1011 0010

-6 n/d 1110 1001 1010 0001

-7 n/d 1111 1000 1001 0000

-8 n/d n/d n/d 1000 n/d

Obtenu dehtp://fr.wikipedia.org/wiki/Représentation_de_n
Úmeros avec signe"
Compléments - Transcript de la présentation

1.
2. LES COMPLÉMENTS. Le problème qui est traité est la manière d'exprimer des nombres.
négatifs dans le système binaire, en nous servant uniquement de signaux qui ne peuvent être que vrais ou
faux. Il est vrai qu'un des signes pourrait représenter le signe et le reste des chiffres formeraient
toujours une valeur positive, mais l'électronique du dispositif serait complexe car elle devrait être capable de
restaurer lorsque je trouverai le signe moins. Cela semble impossible, mais les compléments permettent de le faire.
les restes par des additions et réduisent ainsi l'électronique de la machine. Pensez-vous par exemple que la valeur
9279 est égal à -721 ? Si les valeurs (dans cet exemple) sont toujours manipulées dans des enregistrements de 4 chiffres et
tout ce qui sort disparaît, donc c'est vrai et nous allons le voir : Si nous faisons la somme 721 + 9279, ça
obtient la valeur 10000, mais comme il a été dit, dans un enregistrement de 4 chiffres, seuls les 4 zéros peuvent tenir et le 1 se
perds. Si dans le registre il n'y a que des zéros, le résultat doit être considéré comme 0, donc 721 + 9279 = 0, ce qui
que c'est seulement possible si 9279 est égal à -721.
3. Bien sûr, on peut penser qu'il s'agit d'un truc, et c'en est un, mais c'est ce qui fonctionne
réellement dans les dispositifs numériques : Lorsque nous introduisons deux valeurs et les soustrayons, la machine
transforme l'une des données de manière à résoudre la soustraction en faisant une addition. Les règles de la
la transformation doit être très simple car sinon cela ne compenserait pas l'effort et
En ce qui concerne le système binaire, c'est vraiment très simple. Le complément à 1 d'une valeur binaire se
obtient en inversant l'état de tous ses chiffres, y compris les zéros à gauche jusqu'à compléter le
capacité de l'enregistrement. Par exemple, la valeur 10011 dans un enregistrement de 8 bits (chiffres) sera 00010011 et son
le complément à 1 sera 11101100. Le complément à 2 d'une valeur binaire se obtient en ajoutant 1 à
complément à 1. Par exemple, le complément à 2 de 10011 (le même précédent) sera 11101100 + 1 =
11101101.
4.
o Complément à un
o Le complément à un d'un nombre binaire est une opération mathématique très
important dans le domaine de l'informatique, car il nous permet la représentation binaire de
nombres négatifs. On obtient en changeant chacun des chiffres du nombre binaire N par son
complémentaire, c'est-à-dire changer les uns en zéros et les zéros en uns.
o Par exemple :
. Nombre binaire = (1010110) 2 = (86) 10
. Complément à un = (0101001) 2 = ( - 86) 10

Nous pouvons nous référer au complément à un comme à la fonction complément à un, qui peut également être
définir comme le complément à deux moins une unité, c'est-à-dire. C'est trivial à partir de la définition précédente,
que le complément à deux peut être défini comme.

5.
o Par exemple, calculons le complément à 1 du nombre (45) 10 qui,
exprimé en binaire (101101) 2 a 6 chiffres :
. N = 45; n = 6; 2 6 = 64

Son complément à deux est : y, son complément à un est une unité plus petite : 010011 -000001
Il existe un inconvénient à utiliser le complément à un pour représenter
nombres négatifs qui rendent le complément à deux plus approprié, et il existe deux possibilités
représentations pour le nombre zéro.

6. Exemple : En Complément à 1, pour n = 16, le nombre -9503 10 s'écrit en calculant le


Complément à la Base Moins 1 du nombre 9503 10 écrit en base 2, c'est-à-dire du nombre
10010100011111 2 : C 1 (N) = C 1 (10010100011111) = = 2 n - 1 - N = = 2 16 - 1 - 10010100011111 = =
10000000000000000 - 1 - 10010100011111 = = 1101101011100000 C1 En conséquence, -9503 10 =
1101101011100000 C1 Obsérvese que, le Complément à 1 d'un nombre entier positif ( N ) écrit en
binaire est le résultat de changer tous les bits de valeur, c'est-à-dire tous les zéros en uns et tous les uns
par des zéros.
7. D'autre part, étant donné un nombre entier positif (N) en Complément à 1, pour calculer sa valeur
En base 10, on peut utiliser la même formule que dans la représentation en signe-magnitude ou dans la représentation binaire pure. Un nombre
( N ) représenté en Complément à 1 est positif si le bit de poids le plus significatif est zéro. Dans le cas contraire, le
le nombre sera négatif, et pour calculer sa valeur en base 10, il faudra changer tous les uns par des zéros et
tous les zéros par des uns, obtenant ainsi son nombre positif correspondant, auquel on peut effectivement
appliquer l'une des formules précédentes et changer le signe du résultat.
8. SYSTÈME DE NOMBRES EN COMPLÉMENT À 2 C'est un système qui nous permet
représenter des nombres binaires de manière négative, où le MSB (bit le plus significatif) est le bit de
signe. Si ce bit est 0 alors le nombre binaire est positif (+), si le bit de signe est 1, alors le
le numéro est négatif (-) les sept bits restants du registre représentent la magnitude du numéro 1010110,
pour mieux compléter l'explication, nous devrons accorder beaucoup d'attention à l'explication de
conversions où intervient ce type de numération, qui est assez utilisé dans les
microprocesseurs, car ils gèrent à la fois des nombres positifs et des nombres négatifs. Beaucoup
les ordinateurs numériques utilisent un système numérique complémentaire afin de minimiser la
quantité de circuits nécessaires pour réaliser l'arithmétique des entiers. Par exemple, on peut réaliser la
opération A - B en calculant A + (- B) où (- B) est représenté par le complément à 2 de B.
Donc, l'ordinateur n'a besoin que d'un additionneur binaire et de quelques circuits complémentaires pour l'addition.
et la soustraction. Les machines qui utilisent le système numérique de complément à 2 peuvent représenter
entiers dans l'intervalle -2 n-1 ≤ N ≤ 2 n-1 -1, où n est le nombre de bits disponibles pour représenter à
N. Remarquez que 2 n-1 -1=(0,11...1) 2ms et que -2 n-1 =(1,00...0) 2ms, où le bit extrême représente le
le signe et les n-1 bits restants représentent la magnitude. Trois cas seront considérés pour illustrer la
arithmétique dans le système numérique en complément à deux : A=B+C, A=B-C et A=-B-C. Chaque cas sera décrit.
Dans le cas général et pour tous les cas, on supposera que B³ 0 et C³ 0. Les résultats peuvent être
généraliser facilement, si B et C sont négatifs.
9. Cas 1 : Calculer A=B+C. Comme B et C sont positifs, A le sera aussi, et cela devient
simplement en (A) 2 = (B) 2 + (C) 2 Comme les trois nombres sont positifs, il n'est pas nécessaire d'utiliser
complément à deux. Quand A > 2 n-1 -1, c'est-à-dire, quand il y a un débordement, il existe une difficulté. C'est
Il est facile de détecter une telle condition, car le bit de signe de A sera incorrect. Exemple. Calculez (9) 10 + (5) 10
avec l'arithmétique de complément à deux de 5 bits. +(9) 10 = +(1001) 2 = (0,1001) 2ms +(5) 10 = +(0101) 2 =
(0,0101) 2ms En ajoutant ces codes de 5 bits, on obtient 0 1 0 0 1 0 0 1 0 1
______________________ + 0 0 Comme
1 1le résultat
1 a également un bit de signe 0,
représente correctement la somme droite, qui s'interprète comme, (0,1110) 2ms = +(1110) 2 = (14) 10
10. Cas 2 : Calculer A = B - C. On considère ce calcul comme A = B + (- C) de la manière suivante :
A = (B) 2 + (- (C) 2 ) A = (B) 2 + [C] 2 A = (B) 2 + 2 n – (C) 2 A = 2 n + (B - C) 2 2 n est un terme
adicional. Si B ³ C, alors B-C³ 0, ce qui fait A³ 2 n. Le terme 2 n représente un bit de retenue et se
vous pouvez ignorer, en conservant (B - C) 2. Par conséquent (A) 2 = (B) 2 + [C] 2 et le report est écarté. Si B < C,
alors B - C < 0, ce qui donne A = 2 n - (C – B) 2 = [C - B] 2 , ou A= - (C - B) 2 qui est la réponse désirée.
Dans ce cas, il n'y a pas de retenue. Si B et C sont tous les deux positifs, la magnitude de B - C sera toujours inférieure à
n'importe lequel des deux nombres. Cela signifie qu'il n'y a pas de débordement lors du calcul de B - C.
Exemple. Calculer (12) 10 - (5) 10 On effectue ce calcul comme (12) 10 + (-(5) 10 ) (12) 10 = (1100) 2 =
(0,1100) 2ms -(5) 10 = -(0101) 2 = (1,1011) 2ms On additionne les deux nombres de 5 bits 0 1 1 0 0
+ 1 1 0 1 1 ______________________ 1 1 0En écartant 0 1 1le transport, le bit de
le signe est zéro et donc, le résultat est interprété comme (0,0111) 2ms = +(0111) 2 = +(7) 10

Vous aimerez peut-être aussi