Représentation négatif d'un nombre binaire.

Représentation négatif d'un nombre binaire. - ASM - Programmation

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...

Reply

Marsh Posté le 01-10-2005 à 10:40:23   

Reply

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


---------------
rule #1 : trust the python
Reply

Marsh Posté le 01-10-2005 à 11:48:13    

( j'ai la vague impression que 1111-0011 ne fait qu'inverser les bits ^^ )


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

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...


---------------
rule #1 : trust the python
Reply

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


---------------
rule #1 : trust the python
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed