Code Complémenté & calcul binaire [BINAIRE] - Divers - Programmation
Marsh Posté le 05-06-2003 à 19:58:05
Ben ... C'est une addition ....
Tu prends les digits 1 à 1 :
a+b=c
c1 = a1 XOR b1
r1 = a1 AND b1
c2 = (a2 XOR b2) XOR r1
r2 = ((a2 OR b2) AND r1) OR (a2 AND b2)
c3 = (a3 XOR b3) XOR r2
r3 = ((a3 OR b3) AND r2) OR (a3 AND b3)
et ainsi de suite ...
Ca peut peut-être se simplifier, je viens de le refaire vite-fait ...
en considérant bien sur que b1 est le bit de poids le plus faible (le bit le plus à droite quoi)
Marsh Posté le 05-06-2003 à 21:01:07
hum... oki je vais voir ca
Marsh Posté le 05-06-2003 à 21:29:50
Souvenirs de 1978 (à confirmer) : un nombre négatif voit son bit de gauche mis à un car c'est le bit de signe, la mantisse est alors le complément à "1".
28 : (0)0011100, -28 (1)1100011
Ensuite y une "astuce" normale qui m'échappe en ce moment pour le 1 ajouté (fatigué, au lit ds 5 minutes).
Marsh Posté le 05-06-2003 à 21:33:28
Je suppose qu'il y a un rapport avec la manière dont sont représentés les nombres négatifs.
Sur nos PC, ils sont représentés en "complément à 2". C'est à dire que pour passer d'un nombre à son négatif, il suffit de l'inverser (NOT) et d'additionner 1
Marsh Posté le 05-06-2003 à 15:58:49
voila en révisant je suis tombe sur le code complémenté mais je comprend pas tres bien comment ca marche pour effectuer la soustraction :
exemple
+63 => 0011 1111
-28 => 1110 0011
--- ----------
10010 0010
1
----------
0010 0011
en binaire naturel on a effetué l'operation suivante (traduite ici en base 10):
63 + (255-28) = 318-28 = 290
je sais plus faire les operations en binaire
Message édité par pinguin007 le 05-06-2003 à 15:59:18
---------------
LoD 4 ever && PWC spirit|Le topak de l'iMP-450|inDATOUNEwe trust