• Come rappresentare i numeri negativi
Prima soluzione:
Rappresentazione in Modulo e Segno
Si utilizza un bit per rappresentare il segno del numero considerato
0
+ (numero positivo)
1
- (numero negativo)
Se consideriamo un byte, rimangono ora 7 bit per il modulo del numero: i numeri
rappresentabili sono perciò
[0-127]
Seconda soluzione:
Rappresentazione mediante il complemento a due (CA2)
(-131 )
10→ CA2 su 8 bit
1 Metodo
Calcolare il complemento a 2 del numero decimale su 8 bit 256-131=(125)
10
Convertire in binario 125(0111 1101)
22 Metodo
Convertire il modulo del numero negativo in binario |-131|=(131)
10(1000 0011)
2
Calcolare il complemento a 1 (CA1 Invertire 0 con 1 e viceversa)(0111 1100)
2193 → 1100 0001 → CA2 su 8 bit → 0011 1111
2 → 0000 0010 → CA2 su 8 bit → 1111 1110
67 → 100 0011 → CA2 su 8 bit → 1011 1101
Con n bit a disposizione:
Il numero NEGATIVO minimo rappresentabile è -2n-1
Il numero POSITIVO massimo rappresentabile è 2n-1 - 1 In questo caso nella tabella n=4
Ricordiamo per ottenere la rappresentazione di numero BINARIO negativo da un numero decimale(Ndec) rappresentato in binario da 1 byte (8 bit)
Il CA2 si calcola effettuando la sottrazione tra il max numero (2^8=256) e il numeroNdec in valore assoluto Cioè CA2(Ndec)=256-| Ndec|= - bisogna poi convertire in binario
In alternativa un'altra regola più pratica partendo direttamente dal numero binario (valore assoluto) Invertire i bit : 1 diventa 0 , 0 diventa 1 (Complemento a 1)
Sommare 1 al Complemento a 1 del numero
-13 = 001101=(13)10 ca1 =110010 1 ca2 11001 1