Représentation négatif d'un nombre binaire. - ASM - Programmation
Marsh Posté le 01-10-2005 à 11:42:24
(à vérifier parce que c'est loin...)
13 + 3 = 16
1101 + 0011 = 10000
et tu remarques que 16 s'écrit sur 4 bits : 0000
donc pour avoir -3 tu fais : -3 = 0 - 3 = 16 - 3, donc 10000-0011 = 1101
si tu veux ne faire des opérations que sur 4 bits tu poses : 10000 = 1111 + 1 et tu écris :
1111 + 1 - 0011 = (1111 - 0011) + 1
Marsh Posté le 01-10-2005 à 11:48:13
( j'ai la vague impression que 1111-0011 ne fait qu'inverser les bits ^^ )
Marsh Posté le 01-10-2005 à 11:53:40
> 0x90 : bon, bon, au moins j'aurais essayé. Mais comme vincent0 ne nous donne pas beaucoup plus d'indices...
Marsh Posté le 01-10-2005 à 12:04:20
... et puis du point de vue des instructions x86 cela correspond à deux méthodes différentes ( comment ça j'essaye de sauver la face ?)
(1)
mov al, 0011
neg al
inc al
(2)
mov al, 1111
mov bl, 0011
sub al,bl
inc al
Marsh Posté le 01-10-2005 à 10:40:23
Bonjour,
Il parait qu'il exsite 2 mainières de trouver le nombre négatif de 3 codé sur 4 bits...
1) La première façon: 0011 (3) ---> (on inverse tous les bits): 1100 --> (on ajoute 1) 1101 (-3)
2) Quel est la deuxième méthode pour arriver aussi à 1101 ?
Merci d'avance...