/ / Sottraendo un valore da solo usando il complemento di 2 - binario, sottrazione

Sottraendo un valore da solo usando il complemento a 2 - binario, sottrazione

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 № 1

Sottraendo 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)