Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Documenti analoghi
La Rappresentazione dell Informazione. Prof.Ing.S.Cavalieri

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

I.4 Rappresentazione dell informazione - Numeri con segno

Rappresentazione Binaria di Numeri Interi e in Virgola. Giuseppe Vizzari

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Supporto e informazione. Il concetto di informazione

Codifica binaria. Rappresentazioni medianti basi diverse

Rappresentazione dell informazione

Rappresentazione dei numeri interi in un calcolatore

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Il concetto di informazione. Supporto e informazione

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore. Rappresentazione dei numeri

Codifica dei numeri interi con segno

Rappresentazione dei numeri

Rappresentazione dell informazione

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Rappresentazione e Codifica dell Informazione

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi -

Rappresentazione dell informazione

Anno Accademico Lezione 10 : Conversione di Base (p. 3) Lunedì 6 Dicembre 2010

La codifica binaria. Informatica B. Daniele Loiacono

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

Sistemi di numerazione

Interi positivi e negativi

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Rappresentazione dell informazione: Teoria

1.2 Concetti base dell Informatica: Informazione

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Lezione 3. I numeri relativi

La codifica digitale

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Arithmetic and Logic Unit e moltiplicatore

Rappresentazione dell informazione. Rappresentazione dell informazione. Rappresentazione dell informazione. Codifica dei numeri

Rappresentazione in complemento a 2: caratteristiche generali

Corso di Architettura degli Elaboratori

Rappresentazione binaria

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

I.4 Rappresentazione dell informazione

La codifica binaria. Informatica B. Daniele Loiacono

1.2f: Operazioni Binarie

1-Rappresentazione dell informazione

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Rappresentazione binaria

Codifica dell informazione

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

La codifica dei numeri

Aritmetica in complemento a due. 29 settembre 2017

Esercitazione 0. Alberto Marchesi Informatica A Ingegneria Matematica (sez. 2) 25 Settembre 2019

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

La codifica. dell informazione

Rappresentazione dei numeri. Rappresentazione di insiemi numerici mediante insiemi finiti di stringhe di bit Problemi:

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Codifica binaria: - numeri interi relativi -

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Rappresentazione dei numeri in un calcolatore

Corso di Architettura degli Elaboratori

Aritmetica dei Calcolatori

Rappresentazione dell' informazione. Cenni, necessari per capire le caratteristiche dei tipi di dato e delle limitazioni dell'aritmetica del computer

Codifica dell informazione

La codifica delle informazioni numeriche ed alfanumeriche.

Programmazione I Paolo Valente /2018. Lezione 6. Notazione posizionale

La Rappresentazione dell Informazione

La codifica. dell informazione

Fondamenti di Informatica

NUMERI NATURALI: INTERVALLO DI VALORI RAPPRESENTABILI INFORMAZIONI NUMERICHE

Corso di Informatica

12BHD - Informatica - soluzioni Appendice B del quaderno di testo - v. 1.05

Rappresentazione informazione ed elementi di aritmetica dei computer

Codifica. Rappresentazione di numeri in memoria

Rapida Nota sulla Rappresentazione dei Caratteri

Esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Soluzioni degli esercizi. Convertire in formato decimale i seguenti numeri binari:

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

TECNOLOGIA DIGITALE. TECNOLOGIA DIGITALE (segue)

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

Fondamenti di informatica

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Introduzione e Nozioni di Base. Prof. Thomas Casali

SOMMA IN MODULO E SEGNO Sia

Abilità Informatiche e Telematiche

Rappresentazione dell'informazione

Aritmetica dei Calcolatori Elettronici

Rappresentazione dell informazione

Rappresentazione binaria

Numeri con segno ed in virgola

Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale -

Corso di Calcolatori Elettronici I

Rappresentazione dei Numeri

Codifica dell Informazione per il Calcolo Scientifico

Transcript:

Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012

Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche Esercizi 09/03/2012 2

Codifica delle informazioni Qualunque informazione (dato associato a un significato) sia essa un numero, una data, una immagine, un suono, prima di essere elaborata (memorizzata, trasformata, comunicata) da un computer necessita di essere rappresentata in forma digitale. Questo in quanto i computer si basano sul sistema binario che comprende solo i numeri 0 e 1. Queste cifre sono chiamate bit (binary digit). 3

Registro I computer per rappresentare le informazioni utilizzano dei dispositivi fisici detti registri che hanno numero fisso di cifre binarie. Si è passati rapidamente da 8 a 16 a 32 a 64 bit. ma il limite rimane! Un registro è un dispositivo elettronico per memorizzare le informazioni Dal punto di vista tecnologico un registro è un insieme di n elementi fisici bistabili, detti bit.

Registro I computer per rappresentare le informazioni utilizzano dei dispositivi fisici detti registri che hanno numero fisso di cifre binarie. Si è passati rapidamente da 8 a 16 a 32 a 64 bit. ma il limite rimane! Se si usa un numero prestabilito di cifre binarie (dovuto al fatto che i registri del computer hanno una dimensione prestabilita - n bit), si pone un limite al numero massimo di informazioni rappresentabili Un registro è un dispositivo elettronico per memorizzare le informazioni Dal punto di vista tecnologico un registro è un insieme di n elementi fisici bistabili, detti bit.

Registro n=1 2 1 = 2 configurazioni 0 1

Registro n=2 2 2 = 4 configurazioni 00 01 10 11

Registro n=3 2 3 = 8 configurazioni 000 001 010 011 100 101 110 111

Registro n=4 2 4 = 16 configurazioni 000 001 010 011 100 101 110 111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Registro Un registro formato da n bit è in grado di assumere 2 n configurazioni di stato diverse. 5 4 3 2 1 0 n=6 2 6 = 64 configurazioni Ciascun bit ha due configurazioni stabili possibili, a cui per convenzione vengono associati i simboli 0 e 1

Rappresentazione dei numeri naturali I NUMERI NATURALI sono i numeri interi positivi: 0, 1, 2, 3, 4, 5, 6,.. Per la rappresentazione si utilizza la conversione del numero naturale in binario d N N 1 N 2 N 3 1 0 1x2 d N 2x2 d N 3x2... d1x2 d0x2 11

12 Il più piccolo numero codificabile è: 0 2 0 2 0... 2 0 2 0 2 0 0 1 3 2 1 x x x x x N N N Il più grande numero codificabile è: 0 1 3 2 1 2 1 2 1... 2 1 2 1 2 1 x x x x x N N N Se N=8, 0-255 ossia da 0 a (2 N -1) Se N=16, 0-65535 ossia da 0 a (2 N -1) Se N=32, 0-4.294.967.295 ossia da 0 a (2 N -1) Rappresentazione dei numeri naturali

Rappresentazione dei numeri naturali Decimale Binario Esadecimale 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F La codifica esadecimale viene a volte usata al posto della binaria per ridurre spazio Il numero binario viene suddiviso in blocchi di 4 bits a partire dal meno significativo Ad ogni gruppo viene sostituito il simbolo esadecimale corrispondete 13

Rappresentazione dei numeri naturali Esempi: codifica dei numeri da 0 a 7: bastano3 bit una possibile codifica che usa 4 bit 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 14

Rappresentazione dei numeri naturali Esempi: codifica dei numeri da 0 a 8: 3 bit non bastano una possibile codifica che usa 4 bit 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 15

Rappresentazione di M numeri naturali Per la codifica dei numeri da 0 a M Se M=2 n -1 Servono n bit ove n= log 2 M Per M qualsiasi il più piccolo n tale che 2 n M Esempio: M=1000 Se scelgo n=9 riesco a rappresentare 512 informazioni:, quindi non basta. n=10 (1024 informazioni) va bene 00000000 0 00000001 1 00000010 2 00000011 3 00000100 4 00000101 5 00000110 6 00000111 7... 11111111 127 16

Codifica Numeri Interi Modulo e segno Complemento a 2 17

Rappresentazione dei Numeri Interi Modulo e Segno I numeri interi o relativi sono rappresentati in modo analogo a quanto fatto per i numeri senza segno, riservando 1 bit per rappresentare il segno Si sceglie il bit più significativo per il segno Se il bit vale 1 allora il segno rappresentato è il Se il bit vale 0 allora il segno è il + Il numero di bit utili per rappresentare il valore assoluto del numero intero relativo è: N-1 18

Rappresentazione dei Numeri Interi Modulo e Segno Si rappresenta un intero mediante la rappresentazione separata del modulo e del segno; qualunque sia il numero dei bit usati, quello più significativo rappresenta il segno (0 +;1 -) (tale bit simbolico, non ha peso); I restanti (n-1) bit (che hanno un peso in funzione della posizione) rappresentano la codifica binaria del modulo Esempio: si voglia rappresentare il numero -5 con 8 bit Il primo bit (quello più significativo) viene posto a 1 perchè il numero è negativo gli altri 7 bit si calcolano con il metodo visto prima applicato al numero 5, ottenendo 0000101. Dunque il numero binario che rappresenta -5 è: 10000101 19

Rappresentazione dei Numeri Interi Modulo e Segno Dunque se dispongo di N bit, è possibile rappresentare numeri interi relativi il cui intervallo sarà: -(2 N-1-1.+(2 N-1-1) NOTA: ci sono due rappresentazioni dello 0 Se N=8 ---> -127,.,0,.,+127. Se N=16 ---> -32.767,.,0,.,+32.767. Se N=32 ---> -2.147.483.647,.,0,.,+2.147.483.647. 20

Rappresentazione dei numeri negativi in modulo e segno Con 3 bit avremo: 000 +0 001 +1 010 +2 011 +3 100-0 101-1 110-2 111-3 Problemi: Il numero 0 ha due rappresentazioni Per l operazione di somma si deve tener conto dei segni degli addendi 0 0 1 0 + (+2) 1 0 1 1 = (-3) 1 1 0 1 (-5 ERRATO)

Somme e Sottrazioni in Modulo e Segno Dati due numeri binari in rappresentazione modulo e segno, le operazioni di somma o di sottrazione dipendono dai segni Se i segni sono gli stessi: Si considerano tutti i bit meno quello del segno Si sommano tali sequenze Il numero binario risultante sarà ottenuto aggiungendo il bit di segno ai bit ottenuti dalla somma. Se i segni dei due numeri sono diversi: Si considerano tutti i bit meno quello del segno Si sottrae il numero più piccolo in valore assoluto dal numero più grande Il numero binario risultante sarà ottenuto aggiungendo ai bit ottenuti dalla sottrazione il bit di segno del numero in valore assoluto più grande. 22

Somme e Sottrazioni in Modulo e Segno Il principale problema della rappresentazione in Modulo e segno è che le somme algebriche vanno eseguite in modo diverso in dipendenza dal segno concorde o discorde dei due operandi Questo complica notevolmente la realizzazione delle operazioni di somma e sottrazione a livello hardware.

Il Complemento a 2 Cosa è il complemento a 2 di un numero binario? Dato un numero binario X di N bit, si definisce complemento a 2 di tale numero il numero Y che si ottiene effettuando l operazione 2 N -X Un modo semplice per calcolarlo si ottiene tramite il seguente algoritmo: si invertono tutti i bit del numero (0 diviene 1, e viceversa) si somma 1 24

Il Complemento a 2 Esempio: si determini il complemento a 2 del numero 10100. Dalla definizione si ottiene: 100000-10100 =01100 Applicando il metodo si ha: 01011 +1 01100 Esempio: si determini il complemento a 2 del numero 01101001. Dalla definizione si ottiene: 100000000-01101001 =10010111 Applicando il metodo si ha: 10010110 +1 10010111 25

Rappresentazione dei Numeri Interi in Complemento a 2 La rappresentazione in complemento a 2 di un numero intero su N bit, si effettua nella seguente maniera: i numeri interi positivi (incluso lo zero) sono rappresentati in modulo e segno utilizzando gli N bit: 1 bit di segno (il MSB, pari a 0) e N-1 bit per la codifica i numeri interi negativi sono rappresentati realizzando il complemento a 2 della codifica binaria su N bit del valore assoluto del numero che si vuole rappresentare 26

Rappresentazione dei Numeri Interi in Complemento a 2 La rappresentazione in complemento a 2 di un numero intero su N bit, si effettua nella seguente maniera: i numeri interi positivi (incluso lo zero) sono rappresentati in modulo e segno utilizzando gli N bit: 1 bit di segno (il MSB, pari a 0) e N-1 bit per la codifica i numeri interi negativi sono rappresentati realizzando il complemento a 2 della codifica binaria su N bit del valore assoluto del numero che si vuole rappresentare 1. Si rappresenta in binario usando tutti i bit il valore assoluto del numero negativo da codificare 2. Si effettua il complemento a due del numero binario ottenuto Si invertono tutti i bit in tale rappresentazione (0 1,1 0) Si somma uno al risultato ottenuto al passo precedente 27

Rappresentazione dei Numeri Interi in Complemento a 2 Esempio: si voglia rappresentare il numero 1 con 8 bit Essendo il numero positivo: Segno 0 Codifica binaria su 7 bit di 1: 0000001 Codifica ottenuta: 00000001 Esempio: si voglia rappresentare il numero -1 con 8 bit Essendo il numero negativo: Codifica binaria del valore assoluto (1) su 8 bit 00000001 complemento a 2: 11111110+1 11111111. 28

Rappresentazione dei Numeri Interi in Complemento a 2 Esempio: si voglia rappresentare il numero 1 con 8 bit Essendo il numero positivo: Segno 0 Codifica binaria su 7 bit di 1: 0000001 Codifica ottenuta: 00000001 Esempio: si voglia rappresentare il numero -1 con 8 bit Essendo il numero negativo: Codifica binaria del valore assoluto (1) su 8 bit 00000001 complemento a 2: 11111110+1 11111111. 29

Rappresentazione dei Numeri Interi in Complemento a 2 Esempio Codifica in Complemento a 2 su 4 bit 30

Rappresentazione dei Numeri Interi in Complemento a 2 Secondo questa rappresentazione non (completamente) posizionale le 2 n combinazioni di n bit vengono usate per denotare metà valori positivi (da 0 a 2 n-1-1) e metà valori negativi (da -1 a -2 n-1 ). Si noti che in questa rappresentazione il bit più significativo ha peso -2 n-1 anziché, come accade usualmente in binario puro, 2 n-1. Così, ad esempio, nella sequenza di bit 11110001 il bit più significativo ha peso -128 anziché +128. In questo modo: quando il bit più significativo vale 0, la stringa di bit denota valori positivi, e in particolare denota gli stessi valori che denoterebbe in binario puro, perché il differente peso del MSB non ha influenza; quando invece tale bit vale 1, la stringa denota valori negativi, e in particolare il valore rappresentato si ottiene sommando il contributo negativo dell MSB con i contributi positivi degli altri bit. 31

Dato un numero in complemento a 2, la sua conversione in decimale avviene tramite la formula: d Rappresentazione dei Numeri Interi in Complemento a 2 N 1 N 2 N 3 1 0 N 1 2 dn 2 2 dn 3 2... d1 2 d0 2 Da questa formula si vede che il numero più piccolo che può essere rappresentato con N bit è: N 1 2 mentre il numero più grande è: N 2 N 3 2 2... 2 1 2 0 2 N 1 1 32

Codifica Numeri Interi Complemento a 2 Dunque se dispongo di N bit, è possibile rappresentare numeri interi relativi il cui intervallo sarà: -(2 N-1 ).+(2 N-1-1) Se N=8 ---> -128,.,0,.,+127. Se N=16 ---> -32.768,.,0,.,+32.767. Se N=32 ---> -2.147.483.648,.,0,.,+2.147.483.647. 33

Codifica Numeri Interi Complemento a 2 Esempio: si voglia convertire il numero binario in complemento a 2 00000001 7 6 5 1 0 d7 2 d6 2 d5 2... d1 2 d0 2 Applicando la formula precedente, si ottiene che il numero decimale è 1. Esempio: si voglia convertire il numero binario in complemento a 2 11111111 Applicando la formula 7 6 5 1 0 d7 2 d6 2 d5 2... d1 2 d0 2 si ottiene che il numero decimale è dato dalla somma: -1*2 7 +1*2 6 +1*2 5 +1*2 4 +1*2 3 +1*2 2 +1*2 1 +1*2 0 = -128+64+32+16+8+4+2+1 = -128+127=-1 34

Confronto tra le Codifiche Numeri Interi Perchè la Rappresentazione in Complemento a 2 è più Conveniente? Il motivo più rilevante è relativo ai vantaggi ottenibili nell'esecuzione di operazioni elementari come la somma e la sottrazione. Queste due operazioni sono quelle che vengono più frequentemente realizzate in un computer, e, dunque, un risparmio nel tempo necessario alla loro esecuzione comporta un indiscusso aumento delle prestazioni di un computer. La codifica in complemento a 2 permette un notevole risparmio di tempo nell'esecuzione di somme Con la rappresentazione in complemento a 2 l operazione di sottrazione viene ricondotta alla somma previa complementazione dell operando. 35

Addizione..già studiata Le regole per realizzare l'addizione tra numeri binari: 0+0=0 0+1=1 1+0=1 1+1=0 con riporto di 1 Esempio: Sommare i numeri 0001 (1) e 1010(10). 0001+ 1010= 1011 (11) Esempio: Sommare i numeri 0011 (3) e 1010(10). 0011+ 1010= 1101 (13) 36

Somme e Sottrazioni in Complemento a 2 Dati due numeri binari in complemento a due, per la somma si applicano le regole dell'addizione a tutti i bit compreso il bit di segno. Esempio: Si sommino i numeri a 4 bit 0010 (+2) e 1010 (-6). 0010+ 1010= 1100 (-4) Il numero binario risultante è già il risultato con il segno giusto. 37

Somme e Sottrazioni in Complemento a 2 Esempio: Si sommino i numeri in complemento a 2 001100 (+12) e 100000 (-32). 001100+ 100000= 101100 (-20) Il numero binario risultante è già il risultato con il segno giusto. 38

Confronto tra le Codifiche Numeri Interi E evidente la semplificazione nel calcolo della somma e della sottrazione dei numeri rappresentati in complemento a due. 39

Riconoscimento Automatico di un Risultato Corretto Primo caso Si supponga di lavorare con codifica complemento a 2 su 4 bit (-8,,+7) si consideri la seguente operazione di somma in complemento a due: 1001 (-7) e 1111 (-1). La somma in base 10 è -8 e rappresenta il limite inferiore codificabile con 4 bit Eseguendo la somma tra le rappresentazioni dei numeri si ottiene: 1001+ 1111= 1 1000 l'operazione effettuata ha prodotto un risultato non contenibile nello spazio predisposto in quanto è necessario un altro bit (l 1 a sinistra, ottenuto come riporto, viene memorizzato nel CARRY FLAG per superamento della capacità del registro), comunque il risultato ottenuto (1000 in complemento a 2 corrisponde a 8) è da considerare corretto. 40

Riconoscimento Automatico di un Risultato Corretto Secondo Caso Si supponga sempre di lavorare con codifica in complemento a 2 su 4 bit (-8,,+7) Si consideri la seguente operazione di somma in complemento a due: 1001 (-7) e 1110 (-2). In questo caso la somma -9 non è codificabile con 4 bit. Eseguendo la somma si ottiene: 1001+ 1110= 1 0111 Quando la somma di due interi produce come risultato un valore esterno all insieme dei valori rappresentabili si dice che si è verificato un Overflow e il risultato ottenuto non è corretto; Il Calcolatore non e in grado di prevenire un errore di Overflow, in quanto questo viene individuato solo dopo aver effettuato l operazione. l'operazione effettuata ha prodotto un risultato non contenibile nello spazio predisposto in quanto è necessario un altro bit (l 1 a sinistra, ottenuto come riporto, viene memorizzato nel CARRY FLAG per superamento della capacità del registro ), ma il risultato ottenuto (0111 - in complemento a 2 corrisponde a +7) ) è da considerare errato! Si ha Overflow. 41

Riconoscimento Automatico di un Risultato Corretto Terzo Caso Si supponga di lavorare ad 8 bit (-128,.,+127) Si consideri la seguente operazione di somma in complemento a due: 01111110 (126) e 00000011 (3). In questo caso la somma (129) è superiore al numero massimo positivo codificabile in complemento a due. con 8 bit Eseguendo la somma, si ottiene: 01111110 + 00000011 = 10000001 l'operazione effettuata ha prodotto un valore contenibile nello spazio predisposto ma il risultato ottenuto (10000001 - in complemento a 2 corrisponde a -127) ) è da considerare errato! Si ha Overflow. Quando la somma di due interi produce come risultato un valore esterno all insieme dei valori rappresentabili si dice che si è verificato un Overflow e il risultato ottenuto non è corretto; Il Calcolatore non e in grado di prevenire un errore di Overflow, in quanto questo viene individuato solo dopo aver effettuato l operazione. 42

Riconoscimento Automatico di un Risultato Corretto Per capire se il risultato che è stato ottenuto sia valido o meno, osservando i casi precedenti basta controllare i bit più significativi dei numeri da sommare ( X e Y ) e della somma ( S ) ottenuta. Se i bit più significativi dei numeri da sommare ( X e Y ) sono diversi non potrà verificarsi mai l overflow e il risultato sarà sempre da considerarsi corretto. Se i bit più significativi dei numeri da sommare ( X e Y ) sono uguali e il bit più significativo della somma ( S ) è diverso da essi allora ci sarà overflow e il risultato dovrà essere considerato errato. Nella CPU esiste un registro (detto registro di stato - PSW) dove ciascuno dei bit che lo compongono ha un significato autonomo che indica (flag) se nel corso dell'ultima operazione eseguita si è verificato un determinato evento. CF=1: Carry Flag o flag del riporto. Indica se l'operazione effettuata ha generato un riporto. OF=1: Overflow Flag. Indica se nell'operazione effettuata si è verificato un errore di overflow (risultato non rappresentabile nello spazio predisposto). PF = 1 se il risultato di un operazione ha un numero pari di bit ad uno; ZF = 1 quando il risultato di un operazione è pari a zero; SF = 1 indica il segno associato al risultato, in questo caso negativo; In caso di risultato errato viene impostato a 1 il flag di overflow (OF) 43

Riconoscimento Automatico di un Risultato Corretto Esempio: Siano dati i numeri a 4 bit 0010 (+2) e 1010 (-6). 0010+ 1010= 1100 (-4) OF=0, ossia il risultato S è valido, perché i bit più significativi di X e Y sono diversi. 44

Riconoscimento Automatico di un Risultato Corretto Esempio: Siano dati i numeri a 8 bit 01111110 (+126) e 00000011 (+3) 01111110+ 00000011= 10000001 OF=1, ossia il risultato S NON è valido, perché i bit più significativi di X e Y sono uguali e il bit più significativo di S NON è uguale a loro. 45

Riconoscimento Automatico di un Risultato Corretto Esempio: si consideri la seguente operazione di somma in complemento a due: 1001 (-7) e 1111 (-1). Eseguendo la somma, il calcolatore ottiene: 1001+ 1111= 1 1000 (-8) OF=0, ossia il risultato S è valido, perché i bit più significativi di X e Y sono uguali e il risultato ha il bit più significativo uguale ad essi. 46

Esercizi 1. Data una rappresentazione in complemento a due con 16 bit quanti numeri interi positivi e negativi si possono rappresentare? 2. Effettuare la sottrazione tra il numero decimale 22 e il numero decimale 33 rappresentati prima in binario con modulo e segno e poi rappresentati in binario in complemento a 2. 3. Determinare la rappresentazione in complemento a 2 del numero decimale -10 con 5 e 12 bit. 47

Esercizi Fare la somma dei numeri binari in complemento a 2 codificati su n = 8 bit che corrispondono ai numeri decimali 16 e 42 Fare la somma dei numeri binari in complemento a 2 codificati su n = 6 bit che corrispondono ai numeri decimali -5 e 28 48

Esercizi Si ordinino in modo decrescente i seguenti numeri: N1= - 113 in base 10 N2 = 0100 0111 in base 2 N3 = 43 in base 16 Quanti bit occorrono per rappresentare N3 ed N1 in complemento a 2? Eseguire in complemento a 2 (mostrando i passaggi, indicando esplicitamente se si verifica overflow e motivando la risposta) le operazioni: N1 + N2 N1 - N3. 49

Esercizi Eseguire le seguenti operazioni aritmetiche utilizzando la rappresentazione in complemento a 2 su 3 bit dei numeri evidenziando i casi in cui viene impostato a 1 il Flag di Overflow (Overflow Flag OF- risultato non valido) 1-1= 3-3= 3-1= -1-2= 0-2= 1+2= 50