La rappresentazione in segno e modulo, o rappresentazione con grandezza e segno, è una rappresentazione dei numeri relativi in base 2, che estende il sistema numerico binario per rappresentare i numeri negativi. È utilizzato in informatica per la rappresentazione dei numeri all'interno dei calcolatori.
Dettagli
Questo è il modo più semplice per rappresentare e distinguere numeri positivi e negativi: al numero binario vero e proprio viene anteposto un bit che, per convenzione, assume il valore 0 se il numero è positivo oppure il valore 1 se il numero è negativo.
Esempi:
- +310 = 011M&S
- -310 = 111M&S
Svantaggi
Il grande difetto di questa rappresentazione è quello di avere due modi per scrivere il numero 0: 0000 e 1000 significano infatti +00 e -00.
+0 |
0000 |
-0 |
1000
|
+1 |
0001 |
-1 |
1001
|
+2 |
0010 |
-2 |
1010
|
+3 |
0011 |
-3 |
1011
|
+4 |
0100 |
-4 |
1100
|
+5 |
0101 |
-5 |
1101
|
+6 |
0110 |
-6 |
1110
|
+7 |
0111 |
-7 |
1111
|
Un altro svantaggio sta nell'intervallo che il 'modulo e segno' riesce a raggiungere, non troppo ampio.
Un ennesimo svantaggio lo si ha nell'operazione di somma tra due numeri, in cui, definiti i due numeri A e B, si procede secondo la seguente tabella:
con A > 0 e B > 0 --> A + B
con A > 0 e B < 0 --> se |A| < |B| --> A + B = - (|B| - |A|) altrimenti A + B = |A| - |B|
con A < 0 e B > 0 --> se |B| < |A| --> A + B = - (|A| - |B|) altrimenti A + B = |B| - |A|
con A < 0 e B < 0 --> A + B = - (|A| + |B|)
Esempio di somma tra due numeri interi in base 2 rappresentati in segno e modulo con 4 bit:
A = 1110 [ -6 in base decimale ]
B = 0010 [ +2 in base decimale ]
Siamo nel caso in cui A < 0 e B > 0 e |A| > |B| (|A| = 0110 e |B| = 0010)
ciò implica che la somma A + B = - (|A| - |B|) = - (0110 - 0010) = - 0100 = 1100 [ -4 in base decimale ]