Se connecter avec
S'enregistrer | Connectez-vous

[Aide] Soustraction binaire

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

Merci mais le resultat ne m'interesse pas, je veux comprend comment fait quand on a une retenue positive

genre 10
-11
____

0 - 1 = 1 retenu (-1)
1 - 1 (-1) = 0
mais une retenu positive est crée avec le 1 et la retenu -1, ou va t-elle?

il te suffit d'inverser le nombre soustrait puis de rajouter 1 et enfin d'additionner ex:
11001
-01110
----------
devient:

11001
+10000
+00001
------------
devient
11001
+10001
-----------
101010

mais comme les nombres du début ne contiennent que 5 chiffres
tu doit garder que 5 chiffres du résultat en commençant par la droite
donc ton résultat est: 01010

L'unité arithmétique et logique ne sait faire que des soustractions
Pour ton exemple
A = 01010000
B = 00110101
(Opérations sur 8 bits)
Faut chercher le complément à 1 de B
(inverser tous les éléments binaires)
B devient 11001010
Ensuite le complément à 2
(suffit d'ajouter un 1 au complément à 1)
B devient 11001011
Faire l'addition
0101 0000
+ 1100 1011
= (1) 0001 1011

le (1) bit de signe:
si est à 1 le résultat est positif
si est à 0 le résultat est négatif, dans ce cas chercher le complément à 2

Anonyme a dit :
il te suffit d'inverser le nombre soustrait puis de rajouter 1 et enfin d'additionner ex:
11001
-01110
----------
devient:

11001
+10000
+00001
------------
devient
11001
+10001
-----------
101010

mais comme les nombres du début ne contiennent que 5 chiffres
tu doit garder que 5 chiffres du résultat en commençant par la droite
donc ton résultat est: 01010



Seulement le vrais résultat est 1011 ! Cela ne marche pas ta technique!
Lassé par la pub ? Créez un compte
Tom's guide dans le monde