Rappresentazione dei numeri relativi
# Rappresentazione dei numeri relativi

In matematica, i numeri negativi in qualunque base vengono rappresentati normalmente ma viene prefisso il segno "-"; nei computer, però, vi sono vari metodi per estendere il sistema numerico binario per rappresentare i numeri relativi:

* Rappresentazione in segno e modulo
* Complemento a uno
* Complemento a due
* Eccesso N

Per vari motivi i moderni computer usano principalmente la rappresentazione a complemento a due, anche se le altre rappresentazioni vengono usate in altre circostanze.

## Tipi di rappresentazione

### Eccesso N

La rappresentazione dei numeri a Eccesso N è una convenzione per permettere il calcolo in base 2 con numeri negativi. Si definisce un "eccesso" N, solitamente determinato come $N=2^{k-1},$ con k:=numero di bit della parola, in modo che la parola con tutte le cifre uguali a 0 valga -N, e lo zero sia rappresentato dalla parola che in notazione binaria non a eccesso vale proprio N.

Dato un numero da rappresentare su N bit, la sua rappresentazione in eccesso 2^(N-1) è data dalla somma tra 2^(N-1) e il numero stesso.

8 bit excess-128 :

| Parola in codice binario | Interpretazione a Eccesso-128 | Interpretazione unsigned |
| - | - | - |
| 00000000 | −128 | 0 |
| 00000001 | −127 | 1 |
| 01111111 | -1 | 127 |
| 10000000 | 0 | 128 |
| 11111111 | +127 | 255 |

## Tavola comparativa

La seguente tavola mette a confronto la rappresentazione degli interi compresi fra otto e meno otto, usando 4 bit.

Rappresentazione di interi con 4 bit :

| Decimale | Senza segno | Segno e modulo | Complemento a uno | Complemento a due | Eccesso 8 |
| - | - | - | - | - | - |
| +8 | 1000 | n/d | n/d | n/d | n/d |
| +7 | 0111 | 0111 | 0111 | 0111 | 1111 |
| +6 | 0110 | 0110 | 0110 | 0110 | 1110 |
| +5 | 0101 | 0101 | 0101 | 0101 | 1101 |
| +4 | 0100 | 0100 | 0100 | 0100 | 1100 |
| +3 | 0011 | 0011 | 0011 | 0011 | 1011 |
| +2 | 0010 | 0010 | 0010 | 0010 | 1010 |
| +1 | 0001 | 0001 | 0001 | 0001 | 1001 |
| (+)0 | 0000 | 0000 | 0000 | 0000 | 1000 |
| (−)0 | n/d | 1000 | 1111 | n/d | n/d |
| −1 | n/d | 1001 | 1110 | 1111 | 0111 |
| −2 | n/d | 1010 | 1101 | 1110 | 0110 |
| −3 | n/d | 1011 | 1100 | 1101 | 0101 |
| −4 | n/d | 1100 | 1011 | 1100 | 0100 |
| −5 | n/d | 1101 | 1010 | 1011 | 0011 |
| −6 | n/d | 1110 | 1001 | 1010 | 0010 |
| −7 | n/d | 1111 | 1000 | 1001 | 0001 |
| −8 | n/d | n/d | n/d | 1000 | 0000 |
