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
[modifica | modifica wikitesto]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
[modifica | modifica wikitesto]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 ]