Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
FONDAMENTI DI INFORMATICA
Prof. PIER LUCA MONTESSORO
Facoltà di Ingegneria Università degli Studi di Udine
Overflow
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.
Nota di Copyright
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3
Proprietà della rappresentazione in complemento a 2
• Il normale algoritmo per la somma può essere utilizzato anche qualora uno o entrambi gli addendi sia negativo
• Le differenze vengono calcolate realmente come somme tra numeri relativi
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4
Esempi (su 4 bit)
1101 + 0010 = _____
1111 -3 +
2 = ___
-1 1101 +
1110 = _____
11011 -3 + -2 = ___
-5
Il riporto viene scartato in quanto al di fuori dei bit disponibili
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5
Overflow
0011 + 0110 = _____
1001 3 + 6 = ___
9 1101 +
1010 = _____
10111 -3 + -6 = ___
-9 -7 ???
+7 ???
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6
Condizione di overflow
1101 + 1010 = _____
10111
C
n-1C
nSi osservano i riporti generati dalle colonne dei due bit più significativi:
se C
n= C
n-1OK
se C
n≠ C
n-1Overflow
Fondamenti di Informatica
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7
Infatti ...
1010 + 1010 = 10100
0 1
-6 + -6 = +4
Se C
n= 1 e C
n-1= 0 i due addendi sono negativi ma il risultato diventa positivo
0110 + 0110 = 1100
1 0
6 + 6 = -4
Se C
n= 0 e C
n-1= 1 i due addendi erano positivi ma il riporto di C
n-1genera un risultato negativo
Fondamenti di Informatica - Overflow
© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8
Infatti ...
1010 + 0011 = 1101
0 0
-6 + 3 = -3
Se C
n= 0 e C
n-1= 0 i riporti non alterano il segno del risultato
1101 + 0110 = 10011
1 1