Title: Rappresentazione dei numeri positivi e negativi
1Rappresentazione dei numeri positivi e negativi
- Esiste un problema come rappresentare i numeri
negativi - Prima soluzione rappresentazione in Modulo e
Segno (anche detta Binario Naturale) - 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
/- b6 b5 b4 b3 b2 b1 b0
2Rappresentazione dei numeri positivi e negativi
Significato in modulo e segno Rappresentazione binaria Significato in valore assoluto
7 0 111 7
6 0 110 6
5 0 101 5
4 0 100 4
3 0 011 3
2 0 010 2
1 0 001 1
0 0 000 0
-0 1 000 8
-1 1 001 9
-2 1 010 10
-3 1 011 11
-4 1 100 12
-5 1 101 13
-6 1 110 14
-7 1 111 15
- Consideriamo per
- semplicità solo 4 bit.
- In modulo e segno
- In valore assoluto
/- b2 b1 b0
b3 b2 b1 b0
3Rappresentazione dei numeri in Modulo e Segno
4Rappresentazione in modulo e segno problemi
- Addizione e sottrazione sono le operazioni di cui
si deve disporre per poter realizzare qualsiasi
operazione aritmetica più complessa - Si supponga che il calcolatore abbia una Unità
Aritmetica che realizzi indipendentemente le due
operazioni. - Di fronte ad una somma algebrica, il calcolatore
dovrebbe - confrontare i due segni
- se uguali, attivare il circuito di addizione
- se diversi, identificare il maggiore (in valore
assoluto) ed attivare il circuito di sottrazione - completare il risultato con il segno corretto
- I passi indicati non sono eseguibili
contemporaneamente perché ognuno dipende dai
precedenti - In pratica per effettuare somma e sottrazione si
ricorre ad un unico circuito, utilizzando un
metodo che permette di evitare le operazioni di
confronto
5Complemento alla base di un numero
- Nella rappresentazione in complemento alla base
con n cifre le bn combinazioni rappresentano
numeri positivi e negativi. - In particolare
- le combinazioni da 0 a bn2 - 1 rappresentano i
numeri positivi, rispettando la usuale
rappresentazione posizionale - Le combinazioni da bn2 fino a bn 1
rappresentano i numeri negativi, con la seguente
definizione - dato un numero positivo X, il suo corrispondente
negativo è dato da - bn-X
6Complemento alla base 1 di un numero
- Nella rappresentazione in complemento alla base
1 con n cifre le bn combinazioni rappresentano
numeri positivi e negativi. - In particolare
- le combinazioni da 0 a bn2 - 1 rappresentano i
numeri positivi, rispettando la usuale
rappresentazione posizionale - Le combinazioni da bn2 fino a bn 1
rappresentano i numeri negativi, con la seguente
definizione dato un numero positivo X, il suo
corrispondente negativo è dato da - (bn-1)-X
7Complemento alla base
- b2, n5
- Positivi da 0 a 01111
- Negativi da 10000 a 11111
- X 01011 trovo -X
- 1 0 0 0 0 0 -
- 0 1 0 1 1
-
b2, n7 Positivi da 0 a 0111111 Negativi da
1000000 a 1111111 X0011000 trovo -X 1 0 0
0 0 0 0 0 - 0 0 1 1 0 0 0
1 0 1 0 1
1 1 0 1 0 0 0
Regola pratica partendo dal bit meno
significativo, si riportano invariati tutti i bit
fino al primo bit a 1 compreso si complementano
i rimanenti bit (0 ? 1, 1 ? 0)
8Complemento alla base -1
- X36, b10, n2
- in complemento alla base -1 è 99 - 36 63
- Si ottiene complementando a 9 ogni singola cifra
- X01011, b2, n5
- -X in complemento alla base -1 è (25 - 1) - X
(100000 - 1) - X - 11111 - 01011 10100
- Si ottiene complementando ogni singolo bit (0 ?
1, 1 ? 0)
9Rappresentazione in complemento Riepilogo
- Rappresentazione in complemento a 2 i numeri
positivi sono rappresentati dal loro modulo e
hanno il bit più significativo (segno) posto a 0.
I numeri negativi sono rappresentati dalla
quantità che manca al numero positivo per
arrivare alla base elevata al numero di cifre
utilizzate, segno compreso. Pertanto i numeri
negativi hanno il bit del segno sempre a 1 - Metà delle configurazioni sono perciò riservate
ai numeri positivi e metà ai numeri negativi - Discorsi analoghi possono essere fatti per basi
diverse da 2 in base 10 un numero è negativo se
la prima cifra è ? 5, in base 8 se ? 4, in base
16 se ? 8
10Rappresentazione in complemento alla base
- Con n bit a disposizione
- Il numero minimo rappresentabile è -2n-1
- Il numero massimo rappresentabile è 2n-1 - 1
- -1 è rappresentato da tutti 1 qualunque sia il
numero di bit considerato - Il numero può essere interpretato considerando il
bit più significativo con segno negativo
b3 b2 b1 b0
N - b3 ? 23 b2 ? 22 b1 ? 21 b0? 20
11Utilità del complemento alla base
- Con la tecnica del complemento si può utilizzare
un solo circuito per effettuare sia laddizione,
sia la sottrazione - Operiamo in base 10 e vogliamo calcolare A B.
- Si supponga di conoscere il risultato
delloperazione 10 - B (complemento a 10 di B).
Allora - A - B A (10 - B) a condizione che si
trascuri il riporto - Analogo discorso con k cifre purché si disponga
del risultato delloperazione 10k B
(complemento a 10k). Si ricordi sempre di fissare
il numero di cifre - Se operiamo in base 2, con k cifre
- A - B A (2k - B) a condizione che si
trascuri il riporto - Se si utilizza la tecnica del complemento alla
base -1 occorre sommare il riporto al risultato
finale -
12Operazioni aritmetiche in complemento
- Esempi con 6 cifre binarie
- Complemento a 2 Complemento a 1
- 19 (-17) 19 (-17)
- 0 1 0 0 1 1
0 1 0 0 1 1 - 1 0 1 1 1 1
1 0 1 1 1 0 - 1 0 0 0 0 1 0 (2) 1 0 0 0 0 0 1
- 1
- 0 0 0 0 1 0 (2)
13Operazioni aritmetiche in complemento
- Esempi con 6 cifre binarie
- Complemento a 2 Complemento a 1
- (-17) (-2) (-17) (-2)
- 1 0 1 1 1 1
1 0 1 1 1 0 - 1 1 1 1 1 0
1 1 1 1 0 1 - 1 1 0 1 1 0 1 (-19) 1 1 0 1 0 1 1
- 1
- 1 0 1 1 0 0 (-19)
14Operazioni aritmetiche in complemento
- Esempi con 6 cifre binarie
- 19 17
- 0 1 0 0 1 1
0 1 0 0 0 1
1 0 0 1 0 0 (-28)
Si sono sommati due numeri positivi e si è
ottenuto un numero negativo. Il risultato
corretto (36) non è rappresentabile in
complemento a 2 con 6 bit (massimo numero
rappresentabile 31) Il fenomeno si chiama
traboccamento o overflow
15Operazioni aritmetiche in complemento
Esempi con 6 cifre binarie
- Complemento a 2
- (-19) (-17)
- 1 0 1 1 0 1
- 1 0 1 1 1 1
Complemento a 1 (-19) (-17) 1 0 1 1 0 0
1 0 1 1 1 0
1 0 1 1 0 1 0 1
1 0 1 1 1 0 0 (28)
0 1 1 0 1 1 (27)
Si sono sommati due numeri negativi e si è
ottenuto un numero positivo. Il risultato
corretto (-36) non è rappresentabile in
complemento a 2 con 6 bit (minimo numero
rappresentabile -32 in C.a 2 e 31 in C. a
1) Il fenomeno si chiama traboccamento o overflow
16Somma di numeri di N bit in complemento a 2
0 ? A ? 2N-1 -1 0 ? B ? 2N-1 -1 -2N-1 ? A lt 0 0 ? B ? 2N-1-1 0 ? A ? 2N-1 -1 -2N-1 ? B lt 0 -2N-1 ? A lt 0 -2N-1 ? B lt 0
0 ? S ? 2N-2 -2N-1 ? S lt 2N-1-1 -2N-1 ? S lt 2N-1-1 -2N ? S lt 0
Sommando due numeri positivi si ha overflow se si ottiene un numero negativo. S potrebbe non essere rappresentabile in N bit ma lo è sempre in N1 bit. Non ci sono mai problemi di overflow. Non ci sono mai problemi di overflow. Sommando due numeri negativi si ha overflow se si ottiene un numero positivo. S potrebbe non essere rappresentabile in N bit ma lo è sempre in N1 bit.
17Esempi di somma di numeri binari
- Complemento a 2
- 120
- 105
- - 31
- Overflow1
Valore Assoluto 120 105 225 Riporto0
0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0
0 1
251 240 235 Riporto1
- 5 - 16 - 21 Overflow0
1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 0 1
1
18Tecnica delleccesso
- Usato per scopi particolari
- Viene sommata una costante fissa, ad esempio con
n bit pari a 2n-1-1, al numero dotato di segno da
rappresentare il numero risultante viene
convertito in binario - Con questa convenzione il bit di segno è invertito
8 1111
7 1110
6 1101
5 1100
4 1011
3 1010
2 1001
1 1000
0 0111
-1 0110
-2 0101
-3 0100
-4 0011
-5 0010
-6 0001
-7 0000