Rappresentazione in segno e modulo

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.

DettagliModifica

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

SvantaggiModifica

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|) 
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

Esempio di somma tra due numeri relativi 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 ]