|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
Somme numeri negativi in BCD
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. |
|
|
|
|
#2 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
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
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:57.


















