Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia...

37
Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da "Computer Science: an Overview", di Glenn Brookshear

Transcript of Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia...

Page 1: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memorizzazione dei dati(Data Storage)

Corso di Didactics of Computer Sciencea.a. 2011/2012

Silvia Chiapponi

I contenuti e le immagini sono tratti da "Computer Science: an Overview", di Glenn Brookshear

Page 2: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.
Page 3: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

I bit e la loro memorizzazione

• Le informazioni nei computer vengono codificate come sequenze di 0 e 1.

Queste cifre vengono dette bit (binary digits).

• Le sequenze di bit possono rappresentare:– Numeri– Caratteri dell’alfabeto– Segni di punteggiatura– Immagini– Suoni.

Page 4: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

I bit e la loro memorizzazioneAritmetica Booleana

• Assegniamo al bit 0 il valore “falso” e al bit 1 il valore “vero”.

• Le operazioni booleane riguardano la combinazione di questi valori di verità.

AND OR XOR NOT1 1 1

1 0 0

0 1 0

0 0 0

1 1 1

1 0 1

0 1 1

0 0 0

1 1 0

1 0 1

0 1 1

0 0 0

1 0

0 1

Page 5: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

I bit e la loro memorizzazioneGate e Flip-Flop

• Per realizzare un’operazione booleana utilizziamo un dispositivo chiamato gate.

• I gate vengono costruiti attraverso ingranaggi, relè e dispositivi ottici.

Page 6: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

I bit e la loro memorizzazioneGate e Flip-Flop

Per memorizzare un bit si può utilizzare un circuito flip-flop.Un flip-flop produce un valore di output 0 o 1, che rimane costante finché un impulso esterno non ne determina il passaggio all’altro valore.

Finché entrambi gli input sono 0, l’output (qualunque esso sia) non cambia.

Se cambio il valore del primo input in 1, l’output diventa 1, e rimane costante anche quando riporto il primo input a 0.

Se metto temporaneamente 1 nell’input in basso, l’output diventa 0, e rimane 0 anche quando riporto il valore del secondo input a 0.

Page 7: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

I bit e la loro memorizzazioneGate e Flip-Flop

Page 8: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

I bit e la loro memorizzazioneGate e Flip-Flop

Perché sono importanti i flip-flop?1. Illustrano il design di circuiti digitali, a partire dai gate.2. Sono un esempio di strumento astratto. Flip-flop dalla

struttura interna differente possono avere le stesse funzionalità esterne, che sono in sostanza quelle che servono a un ingegnere informatico.

Flip-flop in serie permettono di memorizzare informazioni, codificate come sequenze di 0 e 1.

Page 9: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

I bit e la loro memorizzazioneNotazione esadecimale

• Lunghe stringhe di bit vengono chiamate stream. • Per semplificare la rappresentazione di stream, si usa la

notazione esadecimale, che sfrutta il fatto che all’interno di un computer le sequenze tendono ad avere lunghezza uguale a un multiplo di 4.

La tabella riporta tutti i possibili blocchi di 4 bit e associa ad ognuno di essi una cifra da 0 a 9 o una delle prime 6 lettere dell’alfabeto.

Dividiamo la sequenza in blocchi di lunghezza 4, e sostituiamo ad ogni sottosequenza la sua rappresentazione esadecimale.

Es: 1010-0100-1100-1000 = A4C8

Page 10: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria principale

• Per memorizzare informazioni, un computer contiene un grande numero di circuiti, ognuno dei quali in grado di memorizzare un singolo bit. Questa “riserva” di bit prende il nome di memoria principale.

• La memoria principale di un sistema è suddivisa in celle, ognuna di dimensione 8 bit (8 bit = 1 byte).

• Ad ogni cella è associato un indirizzo numerico, che serve ad identificare ogni cella all’interno della memoria principale.

Page 11: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria principale

Viene assegnato un ordine:- ai bit all’interno di una cella;- alle celle nella memoria.

In questo modo, tutti i bit in memoria possono essere visti come ordinati secondo un’unica lunga stringa.

Oltre alla serie di circuiti che memorizzano i bit, ci sono altri circuiti che permettono di utilizzare i dati memorizzati nelle celle. Così, ulteriori circuiti possono effettuare operazioni di read e write.

Le celle sono accessibili individualmente, senza doverle leggere necessariamente in sequenza: per questo la memoria principale di un computer viene chiamata RAM (random access memory).

Page 12: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria principale

• Non ci sono solo i circuiti flip-flop per immagazzinare i bit: alcuni tipi di RAM immagazzinano ogni bit in un diverso condensatore: il numero di elettroni all’interno determina il valore 0 o 1. La carica viene persa rapidamente, quindi periodicamente deve avvenire una fase di ricarica del condensatore. E’ un tipo di memoria volatile, se il condensatore perde la carica l’informazione è perduta: per questo viene detta DRAM (dynamic RAM).

• Il numero di celle nella memoria è una potenza di 2. Inizialmente, la memoria veniva misurata in 1024 celle (kylobyte, KB), ora si usano anche megabyte (MB), gigabyte (GB) e terabyte (TB).

Page 13: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massa

• Oltre alla memoria principale, i computer hanno a disposizione anche altri dispositivi di memoria, chiamati memoria di massa, che comprendono hard disk, CD, DVD, nastri magnetici e memorie flash.

• Vantaggi: – Permette di memorizzare un maggior numero di dati e

archiviare le informazioni; – E’ non volatile; – Ha un minor costo.

• Svantaggi: – Richiede operazioni meccaniche, quindi è necessario

maggior tempo per memorizzare e accedere alle informazioni.

Page 14: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massaSistemi magnetici

• L’esempio più noto di dispositivo magnetico di memoria di massa è l’hard disk, in cui i dati sono contenuti su un sottile disco rotante, coperto di materiale ferromagnetico.

La testina, posta sopra e/o sotto al disco in rotazione, effettua dei percorsi circolari, ognuno chiamato track; riposizionando la testina, essa può avere accesso a diverse track concentriche. Spesso, negli hard disk si trovano più dischi sovrapposti, montati su un unico fuso, e le testine dei vari dischi si muovono all’unisono.

Page 15: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massaSistemi magnetici

• Ogni traccia circolare è divisa in settori, ciascuno dei quali contiene lo stesso numero di bit. Nelle tracce più esterne c’è un maggior numero di settori (zoned bit recording). Ogni settore ha un indirizzo, come stringa indipendente di bit.

• L’allocazione delle tracce e dei settori non è intrinseca della struttura fisica del disco: sono determinate dal processo di formattazione.

• La capacità di un hard disk dipende dal numero di dischi utilizzato (fino a 6) e dalla densità delle tracce e dei settori.

• Per valutare le performance di un hard disk ci si basa sui seguenti parametri:– Tempo di ricerca, per muovere le testine da una traccia all’altra– Latenza rotazionale – Tempo di accesso – Tasso di trasferimento.

Page 16: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massaSistemi magnetici

• I nastri magnetici sono dispositivi di memoria di massa che si basano sul magnetismo: le informazioni sono memorizzate sul rivestimento ferromagnetico di un sottile nastro di plastica, avvolto in una bobina.

• Per accedere ai dati, il nastro è inserito in un tape drive, controllato dal computer, che legge, scrive e fa tornare indietro il nastro.

• Svantaggi: – Lungo tempo necessario per muovere il nastro e passare da

un’informazione all’altra.

• Vantaggi:– Basso costo;– Affidabilità;– Alta capacità di memorizzazione.

Page 17: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massaSistemi ottici

• Un esempio di dispositivo che sfrutta tecnologia ottica per memorizzare dati è il CD (compact disk).

• I CD sono dischi di 12 cm di diametro fatti di policarbonato, coperti da un sottile foglio metallico. Le informazioni sono memorizzate come successione di “buchi” e “terre”, e lette tramite un laser, che riconosce le irregolarità sulla superficie mentre il disco ruota.

• I dati sono ordinati lunga un’unica traccia a forma di spirale, che va dal centro verso l’esterno. La traccia è divisa in settori, ognuno della capacità di 2 KB. Il laser legge i dati a velocità costante, perciò la velocità di rotazione del disco varia: è più elevata quando il laser legge i dati al centro, e diminuisce all’esterno.

• Le prestazioni per l’accesso ai dati in un CD sono massime per l’accesso sequenziale (ad es. la riproduzione musicale), non per l’accesso diretto a un singolo dato.

Page 18: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massaSistemi ottici

• I tradizionali CD hanno una capacità di 700 MB. • Hanno invece capacità maggiore, fino a diversi GB, i DVD,

che si basano sulla stessa tecnologia, ma sono formati da diversi strati, ognuno dei quali contiene informazioni.

• Infine ci sono i Blu-ray Disks, che hanno capacità 5 volte maggiore dei DVD. La tecnologia Blu-ray sfrutta laser a maggior frequenza (blu/viola, invece che rosso), che lavorano con grandissima precisione.

Page 19: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massaMemorie flash

• Nelle memorie flash, le informazioni sono memorizzate mandando segnali elettronici ad una serie di transistor, ciascuno dei quali è in grado di mantenere una carica per diversi anni, e quindi conserva il valore di un bit.

• Vantaggio:– possibilità di salvare e cancellare dati nello stesso passaggio.

• Svantaggio:– i transistor vengono danneggiati nelle ripetute cancellature.

• Dispositivi di memoria flash sono:– Le chiavi USB, o flash drives, che hanno capacità fino ad alcuni

GB, e sono ideali per il salvataggio di dati offline; – Le memory card SD (secure digital), che arrivano a contenere

fino a 2 GB di dati, e possono essere inserite in molti dispositivi elettronici, come fotocamere digitali, smartphone, lettori di musica ecc.

Page 20: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memoria di massa

• Le informazioni in un sistema di memoria di massa sono raggruppate in file: un file può contenere un testo, una fotografia, un programma, una canzone.

• Un blocco di dati conforme con le caratteristiche del dispositivo di memoria è detto physical record (ad es. i settori della traccia di un disco magnetico); è detto invece logical record un blocco di dati “coerente” all’interno di un file (ad es. un paragrafo in un documento di testo).

Physical e logical record raramente coincidono.

• Un buffer è un’area di memoria usata per contenere dati in modo temporaneo, di solito durante il processo di trasferimento da un dispositivo a un altro.

Page 21: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di testi

• I testi vengono memorizzati attraverso un codice nel quale ad ogni simbolo alfanumerico viene assegnata un’unica sequenza di bit.

• In generale un testo è dunque rappresentato da una lunga stringa di bit, costituita dai vari blocchi che rappresentano ognuno un carattere o un simbolo nel testo, in successione.

• E’ detto file di testo un file costituito da una lunga sequenza di simboli codificato secondo l’ASCII o Unicode.

– Text editor: manipola semplici file di testo– Word processor: produce file più elaborati, con cambiamenti di font,

allineamenti modificati, ecc..

Page 22: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di testi

• L’ANSI (American National Standards Institute) negli anni ‘60 adottò l’ASCII (American Standard Code for Information Interchange) , un codice che usa sequenze di 7 bit per rappresentare le lettere maiuscole e minuscole dell’alfabeto inglese, i segni di punteggiatura, le cifre dall’1 al 9 e altre informazioni sul testo.

• L’ASCII venne poi esteso a 8 bit per ogni simbolo, in modo che ogni sequenza stia esattamente in un byte, e per avere ulteriori 128 sequenze possibili per indicare altri simboli.

• L’ISO (International Organization for Standardization) ha sviluppato diverse estensioni dell’ASCII, per venire incontro alle esigenze delle altre lingue.

• Nonostante le estensioni dell’ASCII, con questo codice non si possono rappresentare tutte le lettere di tutti gli alfabeti, ad esempio quello cinese, giapponese o cirillico.

• Inoltre, è scomodo per rappresentare testi nei quali compaiono parole di lingue diverse.

• Per questi motivi è stato sviluppato Unicode, che usa 16 bit per rappresentare ogni simbolo, quindi può rappresentare 65536 simboli differenti.

Page 23: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di testi

Tabella ASCII a 8 bit:

Fonte: http://www.antonioeteresa.net

Page 24: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di numeri

• Per memorizzare valori numerici non è conveniente usare il codice ASCII: con 16 bit si possono rappresentare solo i numeri fino al 99.

• Si usa la notazione binaria: invece delle cifre dallo 0 al 9 usiamo solo 0 e 1, e invece della base 10 usiamo la base 2. In questo modo, con 16 bit riusciamo a codificare i numeri dallo 0 al 65535.

• Per rappresentare i numeri interi negativi si usa il sistema del complemento a due, mentre per i numeri razionali la tecnica floating-point.

Page 25: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bit

Page 26: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di immagini

• Interpretiamo l’immagine come un insieme di punti, ognuno dei quali è detto pixel (picture element), e viene codificato singolarmente.

• La collezione di tutti i pixel codificati viene detta bit map.

• Come si codificano i pixel?

IMMAGINI IN BIANCO E NERO:Ogni pixel è rappresentato da un bit, il cui valore dipende dal colore

biancoo nero del pixel ad esso associato.

Primo metodo

Page 27: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di immagini

IMMAGINI A COLORI

1. Codifica RGB:ad ogni pixel sono associati 3 byte di informazioni, uno per l’intensità di ognuno dei colori rosso, verde e blu.

2. Luminance & Chrominance:una componente di luminosità del pixel, somma dei colori rosso, blu e verde, più due byte che rappresentano la predominanza del blu e del rosso nel colore del pixel.

• Svantaggi nella rappresentazione bit map:– un’immagine non può essere ridimensionata, se non

allargando o riducendo le dimensioni dei pixel, a scapito della sua qualità.

Page 28: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di immagini

• Ogni immagine viene vista come insieme di strutture geometriche, linee e curve, codificate attraverso la geometria analitica.

• E’ il metodo utilizzato nei sistemi di computer-aided design (CAD), e nella utility Paint di Windows: durante il disegno, il software mantiene la struttura geometrica della forma che stiamo disegnando: un rettangolo, un cerchio ecc.

• In questo modo riscalare e modellare l’immagine è molto semplice.

Secondo metodo

Page 29: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Le informazioni come bitRappresentazione di suoni

1. Il metodo più generale per codificare dei suoni consiste nel campionare l’ampiezza dell’onda sonora ad intervalli di tempo regolari, e registrare la serie di valori ottenuta. I dati provenienti da ogni campionamento vengono rappresentati in 16 bit (32 bit per le registrazioni stereo).Es: 8000 campionamenti/secondo era il tasso di campionamenti per le comunicazioni telefoniche a lunga distanza; i CD musicali si basano su 44100 campionamenti/secondo.

2. MIDI (Musical Instrument Digital Recording): codifica quale strumento suona una certa nota, e per quanto tempo. Non codifica un suono, ma le “istruzioni” per ottenere quel suono. Una registrazione MIDI può suonare in modo differente su diversi sintetizzatori.

Page 30: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Il sistema binario

• La notazione binaria utilizzata nei computer per rappresentare numeri si basa sul sistema di numerazione binario.

• Così come nel sistema di notazione decimale, anche nel sistema binario ogni cifra (che in questo caso può essere solo 0 o 1) è associata a una quantità.

Page 31: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Il sistema binario

• Per trovare la rappresentazione binaria di un numero intero positivo:– Si divide il numero per 2 e si riporta il resto ottenuto– Finché il quoziente ottenuto è diverso da 0, si continua a dividere il

nuovo quoziente per 2 e si riporta il resto ottenuto.– La rappresentazione binaria del numero di partenza si ottiene

scrivendo da destra a sinistra la sequenza dei resti ottenuti.

Page 32: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Il sistema binario

• Per sommare due interi rappresentati nel sistema binario si seguono le medesime procedure dell’usuale addizione in base 10, tenendo conto che:0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 =

0

• Per rappresentare numeri frazionari nel sistema binario introduciamo un radix point, a sinistra del quale si trovano le cifre che rappresentano la parte intera, mentre a destra la parte frazionaria.

Ad ogni posizione è associata una quantità doppia rispetto a quella della posizione alla sua destra.

Page 33: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memorizzare numeri interi

• Per rappresentare numeri interi all’interno dei computer si usa il metodo del complemento a due, basato sul sistema binario, con l’aggiunta di alcune proprietà per rappresentare anche numeri interi negativi.

Il complemento a due si basa sul fatto che ad ogni valore numerico è associata una sequenza di bit della stessa lunghezza n.

Si parte da una stringa di n zeri, e si conta in sistema binario fino a raggiungere una stringa del tipo 011…1: queste stringhe rappresentano i numeri interi positivi.Le stringhe che rappresentano numeri negativi si ottengono cominciando da una stringa di n uno, e contando all’indietro in sistema binario fino a una stringa del tipo 100…0.

Page 34: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memorizzare numeri interi

• Nel complemento a due il bit all’estrema sinistra nella sequenza è detto bit di segno, in quanto indica il segno del numero rappresentato. Se il bit di segno è = 1 il numero è negativo, se è = 0 è positivo.

• Per passare da un numero al suo opposto nel complemento a due: si copiano i primi bit

a partire da destra, fino a copiare un 1; da lì in poi si prosegue verso sinistra sostituendo ogni bit con il suo complementare.

Page 35: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memorizzare numeri interi

• Per sommare numeri rappresentati in complemento a due applichiamo la stessa tecnica dell’addizione nel sistema binario, tenendo conto però del fatto che tutte le sequenze di bit hanno la stessa lunghezza; quindi, se eventualmente la somma avesse un bit in più a sinistra, questo deve essere troncato.Es: 01010 +

11001 = 100011 00011

• Con questo algoritmo possiamo fare la somma di numeri concordi o discordi, senza problemi.

Page 36: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memorizzare numeri interi

VANTAGGI DEL COMPLEMENTO A DUE:• Un unico circuito per sommare due numeri, unito a uno per fare

l’opposto di un numero positivo, permette di risolvere problemi di addizione e sottrazione.

PROBLEMI:• Nel complemento a due c’è un limite per i valori numerici che

possono essere rappresentati. Per stringhe di bit di lunghezza n, possiamo rappresentare solo i numeri compresi fra . Si ha il problema dell’overflow quando un calcolo dà come risultato un valore che è fuori da quest’intervallo. Ci si accorge di un overflow perché la somma di 2 numeri positivi potrebbe dare un numero negativo, o viceversa.

Nei computer odierni si usa il complemento a due a 32 bit, quindi si possono rappresentare numeri di valore assoluto fino a 2147483647.

Page 37: Memorizzazione dei dati (Data Storage) Corso di Didactics of Computer Science a.a. 2011/2012 Silvia Chiapponi I contenuti e le immagini sono tratti da.

Memorizzare numeri interi

• Un altro metodo per rappresentare numeri interi è detto eccesso N. Anche qui, ogni numero è rappresentato da una sequenza di bit della stessa lunghezza.

• Per prima cosa scegliamo la lunghezza n delle stringhe di bit da usare, quindi ordiniamo tutte le possibili combinazioni di n bit come apparirebbero contando nel sistema binario.

Prendiamo la prima stringa con primo bit = 1 e con essa rappresentiamo il valore 0; le stringhe successive rappresentano in ordine i numeri 1, 2, 3, .., quelle precedenti i numeri negativi -1, -2, -3, ..

I bit di segno sono opposti rispetto alla notazione in complemento a due.