Usando il metodo di sottrazione del complemento a 2 ", il mio risultato è 1111 (-1 nel sistema decimale) mentre dovrebbe essere 0 nel caso seguente
10010
-10010
dove entrambi i valori sono forniti in binario.
La risposta sembra abbastanza ovvia, ma seguire il metodo di conversione del valore negativo in complemento a 2 "e quindi aggiungerlo non sembra funzionare in questo caso in quanto il risultato sembra essere 1111.
Grazie
risposte:
0 per risposta № 1Sottraendo un numero da se stesso usando il complemento a 2 "significa che aggiungi il complemento a 2" (sottraendo un numero si aggiunge il complemento a 2 "):
Devi determinare la dimensione della parola in bit per determinare il complemet di 2 ", quindi supponiamo che il numero di bit in una parola sia 8. Quindi hai 00010010
come numero originale e 11101110
come complemento a 2 ". Il complemento a 2 è il complemento a 1 (11101101
) con 1
aggiunto ad esso.
Quindi aggiungendo:
00010010 [original number, 18 decimal]
+11101110 [2"s complement, -18 decimal]
---------
00000000 [note: there"s a 1 overflow bit]
0 per risposta № 2
10010 nel complemento a due (supponendo che il complemento a 5 bit due) sia -14 (-16 +2). 14 nel complemento a due è 01110 (2 + 4 + 8).
10010
-10010
=
10010
+01110
=
00000 (actually 100000, but the 1 is overflowed)