Numeri con segno: complemento a due.
Uno strano numero negativo.
Nell'aritmetica detta dei numeri con segno, il bit più
significativo, il primo a sinistra, è detto bit di segno in quanto uno zero indica che il numero è positivo,
la cifra uno invece indica che il numero è negativo.
Il primo numero è 88, il secondo è -14.
Il complemento a 2.
Dato un numero binario, nell'esempio che segue il numero 45, lo si complementa e si aggiunge 1. Es.:
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
Se si esegue la somma tra un numero ed il suo complemento a due, il
risultato è zero.
Lo scopo di questa operazione è quello di eseguire addizioni invece di
sottrazioni.
In tal modo, infatti, una sottrazione diventa addizione tra il minuendo e
l'opposto del sottraendo. Es.:
Per eseguire la sottrazione 64-45 si esegue la somma
64+(-45)
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
Il risultato è 19 (Il complemento a due di 45 è stato calcolato sopra).
In Assembler il complemento a due può essere eseguito con una
sola istruzione
NEG A
o anche con due istruzioni consecutive:
|