|
 |
Numeri e Logica Binaria |
SCHEDA n°
09 [
5
di 20] |
|
|
 |
Aggiornato
4 ottobre 2010 |
 |
|
Numeri senza segno: la sottrazione aritmetica |
|
 | L'aritmetica sui
numeri binari senza segno
prevede naturalmente anche sottrazione,
anche in questo caso del tutto simile a quella
decimale; la cifra del
minuendo è sottratta dalla cifra del
sottraendo colonna dopo
colonna, tenendo conto dell'eventuale prestito da sottrarre con gli eventuali operandi della colonna adiacente a sinistra. |
 | La regola da applicare a
ciascuna colonna è, nei 4 casi possibili: |
|
Binario |
Decimale |
|
0-0=
0 con
prestito di
0 |
(00)2 0-0=
0 |
|
0-1=
1
con prestito di
1
|
(10)2 2-1=
1 |
|
1-0=
1
con prestito di
0 |
(01)2 1-0=
1 |
|
1-1=
0
con prestito di
0 |
(01)2 1-1=
0 |
 | L'interpretazione decimale
della tabella mostra che la seconda sottrazione non può
essere fatta se lo 0 del sottraendo non viene inteso come quello del
numero 2, (10)2, ottenuto col tacito accordo di avere un
prestito da togliere alle "decine"
(la colonna adiacente a sinistra). |
 | Vediamo alcuni esempi: |
|
Binario |
Decimale |
|
100 -
11 -
P 11. =
----------
001 |
4 -
3 =
----------
1 |
|
Binario |
Decimale |
|
110 -
11 -
P 11. =
----------
011 |
6 -
3 =
----------
3 |
|
Binario |
Decimale |
|
1101 -
11 =
P .1..
----------
1010 |
13 -
3 =
----------
10 |
 | Il processore 80x86 prevede
2 istruzioni specifiche, la
SUB
(Sottrazione
aritmetica tra numeri interi)
e la
SBB
(Sottrazione
aritmetica tra numeri interi, con prestito),
eseguita in pochi nanosecondi
con operandi di tutte le dimensioni (a 8, 16, 32 bit, ...); a maggior ragione
non è il caso perdere ulteriore tempo, data la particolare paranoia di
questa operazione |
 | Segnalo soltanto la
possibilità di avere problemi di overflow
(trabocco dei limiti consentiti) anche
nell'esecuzione della sottrazione; in questo caso l'errore si manifesta quando
si tenta di sottrarre un minuendo più grande del sottraendo. |
 | La flag
Carry assume in questo caso comunque il valore del
prestito (borrow) della
differenza di numeri binari della stessa
dimensione ed è facilmente consultabile (insieme ad altri bit dello stesso
tipo) in un particolare Registro
del processore 80x86, a disposizione del
programmatore assembly. |
 | In ultimo possiamo mostrare la Tabella di VeritÃ
di una sottrazione aritmetica tra 2 numeri da 1
bit ciascuno: |
|
A |
B |
Differenza |
Prestito |
|
0 |
0 |
0 |
0 |
|
0 |
1 |
1 |
1 |
|
1 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|