PDA

View Full Version : Somme numeri negativi in BCD


guylmaster
11-11-2009, 20:22
Salve a tutti,
ho un quesito riguardo alla somma di due numeri negativi in bcd.

In decimale il calcolo sarebbe -69-154 = -223

Convertendoli in bcd (conversione bcd cifra a cifra positiva ed infine complemento a 2)avremo

1111 1001 0111 +
1110 1010 1100 =
---------------
11110 0100 0011

Le prime due cifre a destra sono corrette perchè sono valori già inferiori di 9.
La cifra più significativa, che per altro ha un riporto di 1, pare non sia in forma corretta. perchè, pur non calcolando l'overflow è 1110 = 14

Di regola quindi, parlando di una sottrazione, non dovremmo sottrargli 6? ovvero sommargli il complemento a 2 di 6?

Dovremmo quindi fare

1110 +
1010 =
-----
11000

Elidiamo l'1 del riporto perchè stiamo parlando di complemento a 2, quindi ottenimao 1000.

Ora però andando a controllare se è giusto devo ricomplmenetare a 2 e controllare eventuali combinazioni scorrette:

ovvero complemento a 2 le cifre

1000 0100 0011
0111 1011 1100 +
0000 0000 0001
----------------
0111 1011 1101 +
0000 0110 0110
----------------
1000 0010 0011

Ovvero le due cifre finali 23 le ho ma come cifra iniziale mi esce 8!

Mentre nella dimostrazione del professore la cifra più significativa, ovvero 1110 la lasciava cosi fin dall'inizio ovvero non gli sommava -6 per farla rientrare nel range di valori "possibili" per il bcd e così facendo ricomplementando a 2 riusciva ad ottenere il risultato giusto.

Ziosilvio
12-11-2009, 08:38
Usa il thread ufficiale per le richieste di aiuto in informatica, nella sezione Scienza e tecnica:
http://www.hwupgrade.it/forum/showthread.php?t=1321413