Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: [email protected] Monica Bianchini...

129
Anno accademico 2010-2011 Anno accademico 2010-2011 1 Fondamenti di Fondamenti di Informatica Informatica E-mail: E-mail: [email protected] [email protected] Monica Bianchini Monica Bianchini Dipartimento di Ingegneria Dipartimento di Ingegneria dell dell’ Informazione Informazione ENIAC (1946 ca.) ENIAC (1946 ca.)

Transcript of Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: [email protected] Monica Bianchini...

Page 1: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

11

Fondamenti di InformaticaFondamenti di Informatica

E-mail: E-mail: [email protected]@dii.unisi.it

Monica BianchiniMonica BianchiniDipartimento di Ingegneria dellDipartimento di Ingegneria dell’’InformazioneInformazione

ENIAC (1946 ca.)ENIAC (1946 ca.)

Valued Acer Customer
ENIACIl primo calcolatore elettronico, l’ENIAC -Electronical Numerical Integrator And Calculator - nacque per esigenze belliche (per il calcolo di tavole balistiche). Venne commissionato dal Dipartimento della Guerra degli Stati Uniti all’Università della Pennsylvania, ed il suo prototipo fu realizzato alla fine della seconda guerra mondiale, nel 1946.L’ENIAC, per la cui costruzione furono usate 18000 valvole termoioniche, occupava una stanza lunga più di 30 metri e dissipava una quantità enorme di energia elettrica. L’impiego di componenti elettroniche, tuttavia, lo rendeva capace di eseguire 300 moltiplicazioni al secondo, molte più dei precedenti calcolatori elettromeccanici.
Page 2: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

22

• IntroduzioneIntroduzione

il calcolo automatico dalla preistoria ai giorni nostri

• L’algebra di BooleL’algebra di Boole

da Analisi Matematica della Logica (1847) al progetto degli elaboratori digitali

• Sistemi di numerazioneSistemi di numerazione

da additivi a posizionali, da decimale a binario, a esadecimale: l’alfabeto dell’elaboratore

• La rappresentazione dei dati e La rappresentazione dei dati e l’aritmetica degli elaboratoril’aritmetica degli elaboratori

dai bit ai numeri, ai testi, alle immagini, alla musica, ai video in digitale

UNIVAC (1951)UNIVAC (1951)

SommarioSommario

Valued Acer Customer
UNIVACIl primo calcolatore concepito ed impostato come prodotto commerciale, fu realizzato da Eckert e Mauchly (gli stessi costruttori dell’ENIAC) per l’Ufficio Centrale di Statistica degli Stati Uniti.L’algebra di BooleFu teorizzata dal matematico inglese George Boole (1810-1864) nel lavoro “Analisi Matematica della Logica”, pubblicato nel 1847. Include un insieme di operazioni su variabili logiche (o variabili booleane), che possono assumere i due soli valori true e false, indicati da 1 e 0. Le tecniche sviluppate nell’algebra booleana possono essere applicate all’analisi ed alla progettazione dei circuiti elettronici, poiché essi sono realizzati con dispositivi che possono assumere solo due stati.Su insiemi di costanti e variabili logiche possono essere definite funzioni che hanno esse stesse la caratteristica di assumere due soli valori. La definizione di una funzione booleana può essere effettuata per mezzo di una tabella di verità, che indica il valore della funzione in corrispondenza di ogni possibile configurazione dei valori degli argomenti. Le funzioni booleane possono essere scritte e manipolate anche con metodi algebrici, dato un insieme di funzioni (o operazioni) elementari tramite le quali poter esprimere ogni altra funzione.
Page 3: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

33

IntroduzioneIntroduzione

Page 4: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

44

• Il sogno di costruire macchine capaci di effettuare calcoli automatici affonda le radici nel pensiero filosofico del ‘600:

Wilhelm Schickard introdusse la prima macchina moltiplicatrice dotata di accumulatori cilindrici

Cenni storici Cenni storici 1 1• La presenza “invasiva” dell’informatica nella vita di tutti i

giorni è un fenomeno relativamente recente; non recente è invece la necessità di avere a disposizione strumenti e metodi per contare rapidamente, elaborare dati, “calcolare” Le prime testimonianze di strumenti per contare risalgono a

30.000 anni fa I primi esempi di algoritmi procedure di calcolo

“automatico” sono stati scoperti in Mesopotamia su tavolette babilonesi risalenti al 18001600 a.C. Macchina moltiplicatrice Macchina moltiplicatrice

(1624)(1624)

Wilhelm Schickard (1592-Wilhelm Schickard (1592-1635)1635)

Page 5: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

55

• Pascal e Leibnitz non solo affrontarono il problema, già studiato da Cartesio, di automatizzare il ragionamento logicomatematico, ma si cimentarono anche nella realizzazione di semplici macchine per calcolare (capaci di effettuare somme e sottrazioni)

Cenni storici Cenni storici 2 2Gottfried Leibnitz (1646-Gottfried Leibnitz (1646-1716) 1716)

Blaise Pascal (1623-1662) Blaise Pascal (1623-1662)

Macchina computazionale (G. Macchina computazionale (G. Leibnitz) Leibnitz)

Macchina addizionatrice Macchina addizionatrice la Pascalina (B. la Pascalina (B. Pascal) Pascal)

Page 6: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

66

• La macchina alle differenzemacchina alle differenze, concepita da Babbage nel 1833, rappresenta il primo esempio di macchina programmabile di utilità generale

• In seguito, lo stesso Babbage progetta la macchina analiticamacchina analitica (mai realizzata, troppo complessa e critica la sua costruzione per le tecnologie meccaniche dell’epoca)

La prima programmatrice nella storia dell’informatica è Ada Augusta Byron, contessa di Lovelace

Cenni storici Cenni storici 3 3Charles Babbage (1791-Charles Babbage (1791-1871) 1871)

Macchina alle differenze: modello Macchina alle differenze: modello ricostruito presso il Museo della ricostruito presso il Museo della Scienza di Londra seguendo il Scienza di Londra seguendo il progetto del 1849 progetto del 1849

Valued Acer Customer
Ada Augusta Byron (Londra, 1815 – 1852) è stata una matematica inglese, meglio nota come Ada Lovelace, nome che assunse dopo il matrimonio con William King, Conte di Lovelace.Ada è conosciuta soprattutto per il suo lavoro alla macchina analitica ideata da C. Babbage. I suoi appunti includono quello che è conosciuto come il primo algoritmo inteso per essere elaborato da una macchina, tanto che lei è spesso ricordata come la prima programmatrice di computer al mondo.Fu la sola figlia legittima del poeta Lord Byron e della matematica Anne Isabella Milbanke, e non ebbe alcuna relazione con il padre, che morì quando lei aveva solo 9 anni. Fin da giovane, si interessò alle scienze matematiche, e in particolare al lavoro di Babbage sulla macchina analitica. Tra il 1842 e il 1843, tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina analitica, che incrementò con un insieme dei suoi appunti. Proprio questi studi contenevano quello che viene considerato come il primo programma per computer, che consiste in un algoritmo codificato per essere elaborato da una macchina. A. Lovelace aveva inoltre previsto la possibilità dei computer di andare al di là del mero calcolo numerico, mentre gli altri, incluso lo stesso Babbage, si focalizzarono soltanto su questa capacità.
Page 7: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

77

• Fu Herman Hollerith, nel 1890, a sviluppare la macchina a schede macchina a schede perforateperforate, per compiere le statistiche del censimento decennale degli Stati Uniti I dati venivano immessi su schede di

cartone opportunamente perforate, le stesse schede che sono state usate fino a due decenni or sono

Le schede venivano successivamente “contate” da una sorta di pantografo che permetteva diversi tipi di elaborazioni (totali, medie, statistiche, etc.)

Si impiegarono due anni e mezzo ad analizzare i dati (contro i sette anni del censimento del 1880), nonostante l’incremento di popolazione da 50 a 63 milioni

Cenni storici Cenni storici 4 4Herman Hollerith (1860-Herman Hollerith (1860-1929) 1929)

Census Tabulator (1890) Census Tabulator (1890)

Page 8: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

88

• Successivamente la macchina a schede perforate venne utilizzata con successo per i censimenti in Austria, Norvegia e Russia, tanto che Hollerith decise di fondare una società: la Computing Tabulating Recording Computing Tabulating Recording CompanyCompany che, nel 1923, divenne l’International Business MachineInternational Business Machine, o IBMIBM

• Nel 1932, il tedesco Konrad Zuse realizza una macchina elettromeccanica in grado di eseguire calcoli con controllo programmato, ed introduce il sistema di numerazione binario (la cui algebra era stata definita da Leibnitz e da Boole)

Cenni storici Cenni storici 5 5Konrad Zuse (1910-Konrad Zuse (1910-1995) 1995)

Il calcolatore Z1 (1939) Il calcolatore Z1 (1939)

Page 9: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

99

• Durante la seconda guerra mondiale, fioriscono i progetti di elaboratori da utilizzarsi per scopi bellici

La macchina EnigmaLa macchina Enigma

Cenni storici Cenni storici 6 6Alan Turing (1912-Alan Turing (1912-1954) 1954)

EnigmaEnigma, realizzata dai tedeschi (A. Scherbius) per codificare le comunicazioni militari

Red PurpleRed Purple, di costruzione giapponese

Computer ColossusComputer Colossus, costruito dagli inglesi per la decifrazione dei messaggi tedeschi, alla cui progettazione e realizzazione collaborò Alan TuringAlan Turing, permise la vittoria angloamericana sull’Atlantico

Page 10: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1010

• Con l’invenzione del tubo a vuototubo a vuoto (1904), del transistortransistor (1947) e, infine, dei circuiti integraticircuiti integrati (1969), l’evoluzione dei computer divenne inarrestabile

• Finora la potenza di calcolo degli elaboratori si è decuplicata ogni 56 anni (…ma non può durare, almeno con le tecnologie in uso)

Cenni storici Cenni storici 7 7

Page 11: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1111

• La costruzione dei primi calcolatori risale all’inizio degli anni ‘40, grazie alla tecnologia elettronica; i primi esemplari venivano programmati mediante connessioni elettriche e commutatori (ENIACENIAC, Mark I Mark I)

• Il nome di Von Neumann è legato invece ai primi calcolatori a programma memorizzato realizzati alla fine degli anni ‘40 (EDSACEDSAC, WhirlwindWhirlwind, IASIAS, UNIVACUNIVAC)

Per la prima volta, vige il principio di unitarietà di unitarietà di rappresentazione di dati e istruzionirappresentazione di dati e istruzioni, che vengono codificati, all’interno dell’elaboratore, in maniera indistinguibile

• La diffusione dei calcolatori a livello mondiale è avvenuta nei decenni ‘60 e ‘70

Cenni storici Cenni storici 8 8John Von Neumann (1903-1957) John Von Neumann (1903-1957)

Page 12: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1212

EDSAC (1949)EDSAC (1949)ENIAC (1946)ENIAC (1946) Mark I (1948)Mark I (1948)

UNIVAC (1952)UNIVAC (1952)Whirlwind Whirlwind (1949)(1949)

IAS (1952)IAS (1952)

Cenni storici Cenni storici 9 9

Page 13: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1313

• Tuttavia, l’esplosione dell’informatica come fenomeno di massa è datata 1981, anno in cui l’IBM introdusse un tipo particolare di elaboratore: il Personal ComputerPersonal Computer (PC)

• La particolarità dei PC consisteva nell’essere “assemblati” con componenti facilmente reperibili sul mercato (e quindi a basso costo)

Possibilità per qualsiasi casa produttrice di costruire “cloni”• Attualmente i PC, o meglio il loro componente

fondamentale il microprocessoremicroprocessore è utilizzato in tutti i settori applicativi (non solo per elaborare dati):

Telefoni cellulari, ricevitori satellitari digitali, GPS Bancomat e carte di credito Lavatrici e forni a microonde Computer di bordo e ABS ...

Cenni storici Cenni storici 10 10

Page 14: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1414

• L’esigenza di realizzare sistemi di elaborazione dotati di più processori operanti in parallelo è stata sentita fin dalla preistoria dell’informatica In una relazione dello scienziato, generale e uomo politico italiano

Luigi Menabrea, datata 1842, sulla macchina analitica di Babbage, si fa riferimento alla possibilità di usare più macchine dello stesso tipo in parallelo, per accelerare calcoli lunghi e ripetitivi

• Solo la riduzione dei costi dell’hardware ha consentito, verso la fine degli anni ‘60, l’effettiva costruzione dei primi supercalcolatori, come le macchine CDC6600CDC6600 e IlliacIlliac e, successivamente, il CrayCray e le macchine vettoriali

• A partire dagli anni ‘90, gli ulteriori sviluppi della microelettronica hanno permesso la realizzazione di calcolatori a parallelismo massiccio e a “grana fine”, caratterizzati dall’interconnessione di decine di migliaia di unità di elaborazione elementari: le reti neuralireti neurali, capaci di “simulare” il comportamento del cervello umano, sulla base degli studi di McCulloch e Pitts (1943)

Cenni storici Cenni storici 11 11

Page 15: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1515

CDC 6600 CDC 6600 (1963)(1963)

Illiac (1955)Illiac (1955)

PC IBM (1981)PC IBM (1981)

Cray 1 (1976)Cray 1 (1976) Cray XE6 (2010)Cray XE6 (2010)

Portatile e Palmare (oggi)Portatile e Palmare (oggi)

Cenni storici Cenni storici 12 12

Page 16: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1616

• “Penso che ci sia mercato nel mondo per non più di cinque computer.” (Thomas Watson, Presidente di IBM, 1943)

• “Ho girato in lungo e in largo questo paese e ho parlato con le migliori menti e posso assicurarvi che questa moda dell’elaborazione automatica è un capriccio che non vedrà la fine dell’anno.” (Editor di libri scientifici di Prentice Hall, 1947)

• “Una unità di calcolo sull’ENIAC è dotata di 18.000 tubi elettronici a vuoto e pesa 30 tonnellate, ma è possibile che in futuro i computer abbiano soltanto 1000 tubi e pesino soltanto una tonnellata e mezzo.” (Popular Mechanics, 1949)

• “Abbiamo un computer qui a Cambridge, ce n’è uno a Manchester e uno al laboratorio nazionale di fisica. Immagino che sarebbe giusto averne uno anche in Scozia, ma non di più.” (Douglas Hartree, fisico inglese, 1951)

• “Ma... a che serve?” (Un ingegnere della Advanced Computing Systems, Divisione dell’IBM, commentando il microchip, 1965).

• Nel 1976, il New York Times New York Times pubblicò un libro dal titolo La scienza nel ventesimo La scienza nel ventesimo secolosecolo, nel quale il calcolatore veniva menzionato una sola volta e indirettamente, in relazione al calcolo delle orbite dei pianeti

• “Non c’è ragione perché qualcuno possa volere un computer a casa sua.” (Ken Olson, fondatore di Digital, 1977)

• “640 Kbytes should be enough for anybody.” (Bill Gates, 1981)

Frasi celebri ed altro…Frasi celebri ed altro…

Page 17: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1717

• InformaticaInformatica fusione delle parole informazioneinformazione e automaticaautomatica l’insieme delle discipline che studiano gli strumenti per l’elaborazione automatica dell’informazione e i metodi per un loro uso corretto ed efficace

• L’informatica è la scienza della rappresentazione e L’informatica è la scienza della rappresentazione e dell’elaborazione dell’informazionedell’elaborazione dell’informazione

L’accento sull’ “informazione” fornisce una spiegazione del perché l’informatica sia ormai parte integrante di molte attività umane: laddove deve essere gestita dell’informazione, l’informatica è un valido strumento di supporto

Il termine “scienza” sottolinea il fatto che, nell’informatica, l’elaborazione dell’informazione avviene in maniera sistematica e rigorosa, e pertanto può essere automatizzata

Che cos’è l’informatica Che cos’è l’informatica 1 1

Page 18: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1818

• L’informatica non è la scienza dei calcolatori elettronici: il calcolatore è lo strumento che la rende “operativa”

• L’elaboratoreelaboratore (computer, calcolatore) è un’apparecchiatura digitaledigitale, elettronicaelettronica ed automaticaautomatica capace di effettuare trasformazioni sui dati: Digitale:Digitale: i dati sono rappresentati mediante un alfabeto

finito, costituito da cifre, digitdigit, che ne permette il trattamento mediante regole matematiche

Elettronica: Elettronica: realizzazione tramite tecnologie di tipo elettronico

Automatica: Automatica: capacità di eseguire una successione di operazioni senza interventi esterni

• “La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.” (Isaac Asimov)

Che cos’è l’informatica Che cos’è l’informatica 2 2

Page 19: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

1919

• La capacità dell’elaboratore di eseguire successioni di operazioni in modo automatico è determinata dalla presenza di un dispositivo di memoriamemoria Nella memoria sono registrati i datidati e... ...le operazioni da eseguire su di essi (nell’ordine

secondo cui devono essere eseguite): il programmaprogramma, la “ricetta” usata dall’elaboratore per svolgere il proprio compito

• Il programma viene interpretato dall’unità di controllounità di controllo

Modello di Von NeumannModello di Von Neumann

L’architettura di Von NeumannL’architettura di Von Neumann

Page 20: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2020

• Programma:Programma: sequenza di operazioni atte a predisporre l’elaboratore alla soluzione di una determinata classe di problemi Il programma è la descrizione di un algoritmoalgoritmo in una

forma comprensibile all’elaboratore• Algoritmo:Algoritmo: sequenza finita di istruzioni attraverso le

quali un operatore umano è capace di risolvere ogni problema di una data classe; non è direttamente eseguibile dall’elaboratore

• L’elaboratore è una macchina universalemacchina universale: cambiando il programma residente in memoria, è in grado di risolvere problemi di natura diversa (una classe di problemi per ogni programma)

La macchina universaleLa macchina universale

Page 21: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2121

• L’informatica è lo studio sistematico degli algoritmi che L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione (ACM, analisi, progetto, efficienza, realizzazione (ACM, Association for Computing Machinery)Association for Computing Machinery)

• NotaNota

È possibile svolgere concettualmente un’attività di tipo informatico senza l’ausilio del calcolatore, per esempio nel progettare ed applicare regole precise per svolgere operazioni aritmetiche con carta e penna; l’elaboratore, tuttavia, è uno strumento di calcolo potente, che permette la gestione di quantità di informazione altrimenti intrattabili

Ancora sull’informatica…Ancora sull’informatica…

Page 22: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2222

L’algebra di BooleL’algebra di Boole

Page 23: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2323

• Contempla due costanti 00 e 11 (falsofalso e verovero)• Corrispondono a due stati che si escludono a

vicenda• Possono descrivere lo stato di apertura o chiusura di

un generico contatto o di un circuito a più contatti

• Sui valori booleani si definiscono le operazioniANDAND, OROR, NOTNOT

0 1

George Boole (1810-George Boole (1810-1864) 1864)

L’algebra di Boole L’algebra di Boole 1 1

Page 24: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2424

• Le operazioni AND e OR sono operazioni binarie, l’operazione NOT è unaria

• Nella valutazione delle espressioni booleane esiste una relazione di precedenza fra gli operatori NOT, AND e OR, nell’ordine in cui sono stati elencati

• Gli operatori dell’algebra booleana possono essere rappresentati in vari modi

Spesso sono descritti semplicemente come AND, OR e NOT

Nella descrizione dei circuiti appaiono sotto forma di porte porte logichelogiche

In matematica si usano per OR e per AND, mentre si rappresenta il NOT con una barra posta sopra l’espressione che viene negata

L’algebra di Boole L’algebra di Boole 2 2

Page 25: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2525

• Si definisce l’operazione di somma logicasomma logica (OR):il valore della somma logica è il simbolo 1 se il valore di almeno uno degli operandi è il simbolo 1

00 001 110 111 1

0

0

0

1

0+0 0+1

1

1

1

0

1+0 1+1

L’operazione di OR L’operazione di OR

Page 26: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2626

• Si definisce l’operazione di prodotto logicoprodotto logico (AND):il valore del prodotto logico è il simbolo 1 se il valore di tutti gli operandi è il simbolo 1

00 001 010 011 1

11

11

01

10

10

01

00

00

L’operazione di ANDL’operazione di AND

Page 27: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2727

• Si definisce l’operatore di negazionenegazione (NOT):l’operatore inverte il valore della costante su cui opera

• Dalla definizione…

0 11 0

La negazione NOT La negazione NOT

0 0 1 1

Page 28: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

2828

• Una variabile binaria indipendente può assumere uno dei due valori 0 e 1

• Date n variabili binarie indipendenti, la loro somma logica (OR) è

x0

1

x1+ x2+ …+ xn =

1 se almeno una xi vale 1

0 se x1= x2= …= xn = 0

Variabili binarie Variabili binarie

Page 29: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

• Date n variabili binarie indipendenti, il loro prodotto logico (AND) è

• La negazione di una variabile x è

• L’elemento x NOT(x) viene detto complementocomplemento di x; il complemento è unico

2929

x1 x2 … xn =

0 se almeno una xi vale 0

1 se x1= x2= …= xn = 1

x = 0 se x = 1x = 1 se x = 0

AND e NOT con variabili binarie AND e NOT con variabili binarie

Page 30: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3030

• Si verificano le seguenti identità:

0 è l’elemento neutroelemento neutro per l’operazione di OR; 1 è l’elemento neutro per l’AND

Gli elementi neutri sono unici

• Ad esempio…

x + 1 1x + 0 x

x + x x

x 1 xx 0 0 x x x

x 1 x

1 1 101 0

x 0 x 1

OK!OK!

Alcune identità Alcune identità

Legge Legge dell’idempotenzadell’idempotenza

Page 31: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3131

• Per gli operatori AND e OR valgono le seguenti proprietà:

• Per l’operatore NOT si provano le seguenti identità:

commutativacommutativa x1+x2 x2+x1 x1 x2 x2 x1

associativa associativa x1+x2+x3 x1+(x2+x3) x1 x2 x3 x1(x2

x3)

distributiva del prodotto rispetto alla sommadistributiva del prodotto rispetto alla somma x1 x2 + x1 x3

x1(x2+x3)

x + x 1x x 0

x x

Altre proprietà Altre proprietà

Page 32: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3232

• Date n variabili binarie indipendenti x1, x2,…, xn, queste possono assumere 2n configurazioni distinte

• Una configurazione specifica è individuata univocamente da un AND (a valore 1) di tutte le variabili, dove quelle corrispondenti ai valori 0

compaiono negate

Ad esempio per n=3 si hanno 8 configurazioni

x1x2x3000 001 010 011100 101 110 111

x1x2x3010

Configurazione delle variabili Configurazione delle variabili

Page 33: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3333

• Una variabile y è una funzione delle n variabili indipendenti x1, x2,…, xn, se esiste un criterio che fa corrispondere in modo univoco ad ognuna delle 2n configurazioni delle xi un valore di y

• Una rappresentazione esplicita di una funzione è la tabella di veritàtabella di verità, in cui si elencano tutte le possibili combinazioni di x1, x2, …, xn, con associato il valore di y

y = F(x1,x2,…,xn)

x1 x2 y0 0 00 1 11 0 11 1 1

y = x1+x2

Funzioni logiche Funzioni logiche

Page 34: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3434

• Date tre variabili booleane (A,B,C), si scriva la funzione F che vale 1 quando solo due di esse hanno valore 1

A B C F0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

Si può scrivere la funzione come somma logica delle configurazioni corrispondenti agli 1

F(A,B,C) F(A,B,C) ABC ABC ABC ABC ABC ABC

Forma canonica: somma di prodotti (OR di AND)Forma canonica: somma di prodotti (OR di AND)tutte le funzioni logiche si possono scrivere in questa forma

Una tabella di veritàUna tabella di verità

Page 35: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3535

• La funzione XORXOR verifica la disuguaglianza di due variabili

• L’espressione come somma di prodotti è quindi...

x1 x2 XOR0 0 00 1 11 0 11 1 0

XOR = x1x2 + x1x2

Un esempio: lo XOR Un esempio: lo XOR 1 1

Page 36: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3636

Un esempio: lo XOR Un esempio: lo XOR 2 2

Porta logica per XORXOR

Page 37: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3737

• Legge dell’assorbimentoLegge dell’assorbimento x1 x1x2 x1

• Leggi di De MorganLeggi di De Morgan

(x1x2) x1x2

(x1x2) x1x2 • Dalle leggi di De Morgan si evince che la scelta delle

funzioni OR, AND e NOT, come funzioni primitive, è ridondante L’operazione logica AND può essere espressa in funzione

delle operazioni OR e NOT; in modo analogo, l’operazione OR può essere espressa tramite AND e NOT

• Le relazioni stabilite sono generalmente applicate nelle trasformazioni di funzioni booleane in altre equivalenti, ma di più facile realizzazione circuitale

EsempiEsempi

Page 38: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3838

Un esempio di circuito logico Un esempio di circuito logico

y1 = F(B,C,D) = (BC)D

Page 39: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

3939

• I due interruttori corrispondono a due variabili (A,B) a valori booleani le variabili assumono i due valori 0 e 1 che corrispondono alle due posizioni dell’interruttore

A B L

0 0 10 1 01 0 01 1 1

L ABABA B

A B0

11

0

A=1 B=0

L

A B

A B0

11

0

A=1 B=1

L

A B

A B0

11

0

A=0 B=1

L

A B

A B0

11

0

A=0 B=0

L

Un circuito con due interruttoriUn circuito con due interruttori

Page 40: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4040

• Progettare un circuito per accendere e spegnere una lampada da uno qualsiasi di tre interruttori indipendenti

0 01

A B C

1 1 1

0 0 0

A B C

1 1

0

1

0 0

0 00Cambia lostato di uninterruttorequalsiasi

L = 0

L = 1

Un esercizioUn esercizio

Page 41: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4141

• Si considera cosa accade a partire dalla configurazione di partenza, cambiando lo stato di un interruttore per volta

A B C

0 00

L = 0

L = 1A B C

0 10

A B C

0 01

L = 1

A B C

1 00

L = 1 L = 0A B C

1 01

A B C

1 11

L = 10 11

A B CL = 0

1 10

A B CL = 0

Analisi delle combinazioniAnalisi delle combinazioni

Page 42: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4242

• Dalle otto combinazioni si ottiene la tabella di verità tabella di verità della funzione logica

• Si può scrivere la funzione L come somma logica di prodotti logicisomma logica di prodotti logici

A B C L0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

L ABC ABC ABC ABC

Scrittura della funzione logicaScrittura della funzione logica

Page 43: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4343

• Si può manipolare l’espressione di L usando la proprietà distributiva dell’AND rispetto all’OR

L = ABC ABC ABC ABC

L = A (BC BC) A (BC BC)

A

A

B

B

C

C

C

CB

B A

A

B

B

C

C

C

CB

B

1 0 0 1 0 1

Come collegare gli interruttoriCome collegare gli interruttori

Page 44: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4444

• Esercizio 1Esercizio 1

Siano a2, a1, b2, b1 i bit che rappresentano due numeri interi positivi (Aa2a1 e Bb2b1). Sia r una variabile booleana che vale 1 se e solo A è maggioreuguale a B (AB). Ad esempio, quando A11 e B10, allora a21, a11, b21, b10 e r1. Si scriva la forma canonica che definisce r come funzione di a2, a1, b2, b1.

• Esercizio 2Esercizio 2I signori A, B, C e D fanno parte di un consiglio di amministrazione. Sapendo che hanno a disposizione le seguenti quote di possesso azionario A40%, B25%, C20%, D15%, formalizzare tramite tabella di verità (con successiva estrazione della forma canonica) la funzione booleana che decide quando il consiglio di amministrazione è in grado di approvare una mozione.

EserciziEsercizi

Page 45: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4545

• Esercizio 3Esercizio 3

Il direttore di una squadra di calcio vuol comprare 4 giocatori dal costo di 2, 5, 6 e 8 milioni di euro, ma ha a disposizione solo 8 milioni. Siano a2, a5, a6, a8 variabili booleane che valgono 1 se e solo se si acquistano, rispettivamente, i giocatori da 2, 5, 6, 8 milioni. Sia r una variabile che è vera se e solo se l’insieme di giocatori che si decide di comprare non supera la cifra disponibile. Ad esempio, se a21, a51, a60, a80, allora r1. Si scriva la forma canonica che definisce r come funzione delle variabili a2, a5, a6, a8.

Esercizi (continua)Esercizi (continua)

Page 46: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4646

Sistemi di numerazioneSistemi di numerazione

Page 47: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4747

• I primi esempi di utilizzo di sistemi di numerazione risalgono al neolitico, ovvero a circa 50.000 anni fa

• In epoca preistorica, le più utilizzate furono le basi 2, 5, 10, 20, 12, e 60 Mentre le basi 2, 5, 10 e 20 sono suggerite dalla

fisiologia umana, 12 e 60 sembrano suggerite da scopi utilitaristici: 12 è divisibile per 1, 2, 3, 4, 6 e 12 mentre 60 per 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 e 60

La base 12 è ancora utilizzata in alcune misure di tempo, 60 nella misurazione di angoli e tempo

Ancora un po’ di preistoria… Ancora un po’ di preistoria… 1 1

Page 48: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4848

• Da notare che il 7 non compare mai nelle basi di numerazione e, in effetti, ebbe significati particolari, anche religiosi, presso i popoli antichi Il 7 esprime infatti la globalità, l’universalità,

l’equilibrio perfetto Era legato al compiersi del ciclo lunare Presso i Babilonesi erano ritenuti festivi, e

consacrati al culto, i giorni di ogni mese multipli di 7

Ancora un po’ di preistoria… Ancora un po’ di preistoria… 2 2

Page 49: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

4949

• Tra le prime testimonianze certe dell’utilizzo di concetti aritmetici avanzati vi sono le tavole numeriche babilonesi, elenchi di numeri utilizzati per calcoli astronomici e di agrimensura, risalenti al X secolo a.C.

• Tuttavia, nelle culture dell’antica Mesopotamia, esistevano tabelle per le addizioni e le sottrazioni già durante il regno di Sargon I, intorno al 2350 a.C.

E di storia… E di storia… 1 1

Page 50: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5050

• Il documento più significativo dell’antico Egitto è il papiro di Ahmes o Ahmose, dal nome dello scriba che lo compose nel 1650 a.C.

• Lo stesso Ahmes sostiene inoltre che il suo materiale è tratto da un documento anteriore, e fa risalire l’originale ad Imhotep, medico e architetto del faraone Djoser della III dinastia, e quindi al 2650 a.C. circa Imhotep è ritenuto l’architetto della grande

piramide a gradoni di Saqqara, la cui enorme base quadrata ha lati perfetti al centimetro!

E di storia… E di storia… 2 2

Page 51: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5151

• Un antichissimo strumento utilizzato un po’ ovunque per aiutarsi nei conteggi è costituito da semplici sassolini

• Non a caso la parola “calcolo” deriva dal latino calculus, che significa appunto sassolino

• Appartengono alla civiltà dei SumeriSumeri varie tavolette che contengono i più antichi segni numerali usati dall’uomo e risalgono al 35003000 a.C.

• Inizialmente, però, i Sumeri avevano semplicemente perfezionato il metodo dei sassolini, costruendone di particolari, in terracotta, di forme e dimensioni diverse, ciascuno con un proprio valore

I numeri in Mesopotamia I numeri in Mesopotamia 1 1

Page 52: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5252

• I simboli fondamentali usati nella numerazione sumera corrispondono ai numeri 1, 10, 60, 600, 3600, 36000

• I valori dei sassolini sono crescenti secondo una scala che procede per 10 e per 6 alternativamente

I numeri in Mesopotamia I numeri in Mesopotamia 2 2

360003600011 1010 6060 600600 36003600

Page 53: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5353

• Il sistema di rappresentazione dei valori attraverso i “calculi” è un sistema additivosistema additivo

• Come in ogni sistema di rappresentazione additivo, l’operazione di addizioneaddizione risulta particolarmente semplice

• Per addizionare due o più valori basterà infatti mettere insieme i simboli uguali di ciascuno degli addendi: l’addizione è compiuta nel gesto stesso dell’unione dei sassolini

• L’insieme dei sassolini indicherà complessivamente il valore risultato dell’addizione

I numeri in Mesopotamia I numeri in Mesopotamia 3 3

Page 54: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5454

• Successivamente i Sumeri, per motivi di praticità, realizzarono gli stessi simboli su tavolette di argilla, utilizzando bastoncini di diverse dimensioni…

• …cominciarono cioè a “scrivere” i numeri

I numeri in Mesopotamia I numeri in Mesopotamia 4 4

Page 55: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5555

I numeri in Mesopotamia I numeri in Mesopotamia 5 5

Tavoletta pittografica con un conto di 33 misure d’olio (Godin Tepe, Iran, Tavoletta pittografica con un conto di 33 misure d’olio (Godin Tepe, Iran, 3100 a.C.)3100 a.C.)

Page 56: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5656

• Un ruolo speciale nell’aritmetica sumera spetta dunque ai numeri 10 e 60: caratteristica ereditata poi dal sistema babilonese

• Vari secoli dopo, attorno al XIX secolo a.C., a partire dall’antica numerazione sumera, gli scienziati BabilonesiBabilonesi crearono infatti un sistema di scrittura basato sui soli due simboli:

cuneo verticale cuneo verticale 1 1

parentesi uncinata parentesi uncinata 10 10

I numeri in Mesopotamia I numeri in Mesopotamia 6 6

Page 57: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5757

• Si rappresentavano i numeri da 1 a 59• Per i numeri successivi, si ha la prima

testimonianza dell’uso di una notazione posizionale

Non si introducevano infatti altri simboli, ma si affiancavano gruppi di cunei per indicare le successive potenze del 60

Si tratta dunque di un sistema di numerazione posizionale (come il nostro, ma) in base 60

I numeri in Mesopotamia I numeri in Mesopotamia 7 7

Page 58: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5858

I numeri in Mesopotamia I numeri in Mesopotamia 8 8

Page 59: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

5959

I numeri in Mesopotamia I numeri in Mesopotamia 9 9

Tavoletta di argilla (1900Tavoletta di argilla (19001600 a.C.) contenente un elenco di terne 1600 a.C.) contenente un elenco di terne pitagorichepitagoriche(misure dei lati di un triangolo rettangolo)(misure dei lati di un triangolo rettangolo)

Page 60: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6060

• Ad esempio:

• Il sistema di spaziatura consentiva di risolvere le ambiguità di interpretazione dei raggruppamenti

• Ai tempi di Alessandro Magno era però invalso anche l’uso di un simbolo (due cunei obliqui) per indicare un posto vuoto; questo simbolo svolgeva alcune funzioni del nostro zero, ma non tutte: veniva usato fra colonne e mai per indicare colonne vuote alla fine della sequenza

7322

I numeri in Mesopotamia I numeri in Mesopotamia 10 10

Page 61: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6161

• La civiltà degli EgiziEgizi ci ha lasciato alcune fra le più antiche tracce di matematica scritta

• I primi numeri scritti si individuano infatti su monu-menti e stele databili all’inizio del III millennio a.C.

• Si tratta di iscrizioni che impiegano il sistema geroglificogeroglifico, la scrittura pittograficapittografica egizia

I numeri nell’antico Egitto I numeri nell’antico Egitto 1 1

Page 62: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6262

• Nel sistema geroglifico vengono riservati ai numeri sette simboli diversi per rappresentare le potenze del 10, da 1 a 106

• I geroglifici utilizzati erano:

Rotolo di funeRotolo di fune

Uomo a braccia levate,Uomo a braccia levate,simbolo del dio Hehsimbolo del dio Heh

BastoncinoBastoncino

Girino o ranaGirino o ranaDitoDito

Pastoia per bestiame o giogoPastoia per bestiame o giogo

Ninfea o fiore di lotoNinfea o fiore di loto

I numeri nell’antico Egitto I numeri nell’antico Egitto 2 2

Page 63: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6363

• I numeri venivano formati raggruppando i simboli, generalmente posti in ordine dal più piccolo al più grande, da sinistra a destra (o viceversa)

• Il sistema di numerazione non è, tuttavia, posizionale

L’ordine dei simboli che definiscono le potenze del 10 può venire alterato senza cambiare il valore del numero rappresentato

L’ordine è una sorta di convenzione linguistica, senza significato matematico

I numeri nell’antico Egitto I numeri nell’antico Egitto 3 3

Page 64: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6464

131.200

I numeri nell’antico Egitto I numeri nell’antico Egitto 4 4

Page 65: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6565

• Esempi di operazioniEsempi di operazioni

Addizione:Addizione: si effettua sommando i simboli uguali e, qualora si superi il valore 10, sostituendo i dieci simboli con il simbolo opportuno (quello subito “superiore” nella gerarchia)

Moltiplicazione:Moltiplicazione: utilizza un sistema che sottintende la base 2

si scompone il moltiplicatore in potenze di 2, poi si raddoppia il moltiplicando tante volte quante necessario, e infine si esegue la somma

I numeri nell’antico Egitto I numeri nell’antico Egitto 5 5

Page 66: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6666

• Esempio:Esempio: 713

13

91

I numeri nell’antico Egitto I numeri nell’antico Egitto 6 6

Page 67: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6767

• Nella civiltà greca classica sono noti due principali sistemi di numerazione

Il primo, più antico, è noto come atticoattico ed è per molti aspetti simile a quello in uso presso i Romani; utilizzava infatti accanto ai simboli fondamentali per l’1 e le potenze di 10 fino a 10000, un simbolo speciale per il 5, che combinato con i precedenti, dava altri simboli anche per 50, 500, 5000, 50000

Compaiono testimonianze di questo sistema dal V al I secolo a.C. ma, a partire dal III secolo, si diffonde anche il sistema detto ionicoionico o alfabeticoalfabetico

I numeri nell’antica Grecia I numeri nell’antica Grecia 1 1

Page 68: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6868

• Il sistema ionico si serve di ventisette simboli alfabetici (alcuni dei quali arcaici e non più usati nella Grecia classica) per indicare le unità da 1 a 9, le decine da 10 a 90, le centinaia da 100 a 900

• Si usavano poi nuovamente le prime nove lettere precedute da un apice in basso per indicare i multipli di 1000, e per esprimere numeri ancora più grandi si ricorreva al simbolo M (iniziale di miriade) che indicava la moltiplicazione per 10000 del numero che seguiva

Sistema di numerazione decimale additivoSistema di numerazione decimale additivo

I numeri nell’antica Grecia I numeri nell’antica Grecia 2 2

Page 69: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

6969

• Ad esempio:

67.766.776

I numeri nell’antica Grecia I numeri nell’antica Grecia 3 3

Page 70: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7070

• Nel sistema di numerazione romano, a base decimale, ci si serviva, come è noto, anche di simboli speciali per indicare 5, 50, 500

• Alcune antiche epigrafi inducono a ritenere che i segni usati fossero inizialmente segni speciali, forse di origine etrusca, che solo successivamente furono identificati con le lettere I, V, X, L, C, D, M

I V X L C D M1 5 10 50 100 500 1000

I numeri nell’antica Roma I numeri nell’antica Roma 1 1

Page 71: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7171

• La scrittura dei numeri avveniva combinando additivamente i segni

• Per agevolare scrittura e lettura si diffuse più tardi un sistema sottrattivo già utilizzato, ad esempio, dagli Assiri Assiri (che ha traccia anche nelle forme verbali come ad esempio “undeviginti”, stessa cosa di “decem et novem”) Un simbolo posto alla sinistra di un simbolo di

quantità maggiore viene sottratto, così IX e VIIII indicano entrambi il numero 9

• Ancora in epoca tarda, un segno che prese l’aspetto di una linea orizzontale posta sopra le lettere serviva per indicarne la moltiplicazione per 1000

I numeri nell’antica Roma I numeri nell’antica Roma 2 2

Page 72: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7272

• Per molte centinaia di anni ancora (con l’unica ecce-zione dei Babilonesi) gli uomini hanno continuato ad utilizzare sistemi di numerazione additivi

Più semplici da usare dato che la somma “si fa da sé”

Poco adatti a rappresentare numeri grandi (che presuppongono l’uso di tanti simboli posti gli uni accanto agli altri)

La storia continua…La storia continua…

Page 73: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7373

• La civiltà indiana, più antica delle civiltà classiche, è già documentata dal 3000 a.C.

• Sebbene l’uso della matematica dovesse essere ben sviluppato già in epoca arcaica, i primi testi che ci sono giunti risalgono al V secolo d.C.

• Non è però ancora chiaro dove e quando si sia sviluppato il sistema di notazione decimale posizionale che, in seguito, attraverso gli ArabiArabi, si è diffuso in Europa

Dall’India… il sistema decimale Dall’India… il sistema decimale 11

Page 74: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7474

• Tale sistema viene utilizzato nell’opera del matematico indiano vissuto attorno al 500 d.C. Aryabhata, la più antica che ci è pervenuta (se si eccettuano frammenti sparsi di matematici anteriori), dove però manca ancora l’uso di un simbolo zero

• Testimonianze di scritture in forma posizionale si registrano anche prima del manuale di Aryabhata, mentre per avere datazioni sicure di forme complete in cui compare anche il simbolo zero occorre arrivare al IX secolo d.C.

Dall’India… il sistema decimale Dall’India… il sistema decimale 22

Page 75: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7575

• L’idea di usare un numero limitato di simboli a cui dare valore diverso a seconda della posizione occupata può essere stata, secondo alcuni studiosi, sviluppata dagli Indiani per conoscenza diretta o ereditata dai Greci del sistema sessagesimale babilonese

• Gli Indiani avrebbero allora iniziato ad utilizzare solamente i primi 9 simboli del loro sistema decimale in caratteri BrahmiBrahmi, in uso dal III secolo a.C.

Dall’India… il sistema decimale Dall’India… il sistema decimale 33

Page 76: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7676

• I simboli assumono forme diverse a seconda delle zone e dei periodi, ma sono comunque quelli che gli Arabi più tardi utilizzarono e che, dalla forma araba, sono passati in Europa, fino alla forma definitiva resa uniforme dalla stampa nel XV secolo

Dall’India… il sistema decimale Dall’India… il sistema decimale 44

Page 77: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7777

• Sistemi di numerazione posizionaliposizionali:La basebase del sistema di numerazioneLe cifrecifre del sistema di numerazione

Il numero è scritto specificando le cifre in ordine ed il suo valore dipende dalla posizione relativa posizione relativa delle cifreEsempio:Esempio: Il sistema decimale (Base 10)

Cifre : 0 1 2 3 4 5 6 7 8 9Cifre : 0 1 2 3 4 5 6 7 8 9

5641 = 5·103 + 6·102 + 4·101 + 1·100

Posizione: 3 2 1 0

Sistemi di numerazione Sistemi di numerazione posizionaliposizionali

Page 78: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7878

• La base definisce il numero di cifre diverse nel sistema di numerazione

• La cifra di minor valore è sempre lo 0; le altre sono, nell’ordine, 1,2,…,B1; se B>10 occorre introdurre B10 simboli in aggiunta alle cifre decimali

N = cN = cnnBBnn+c+cnn11BBnn11+...+...+c+c22BB22+c+c11BB11+c+c00BB00

Un numero frazionariofrazionario N’ si rappresenta come (0,c1c2…cn)B

Un numero interointero N si rappresenta con la scrittura (cncn1…c2c1c0)B

N’ = cN’ = c11BB11+c+c22BB22+...+...+c+cnnBBnn

ccnn è la cifra più significativacifra più significativa, cc00 la meno significativameno significativa

Sistemi in base BSistemi in base B

Page 79: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

7979

• Con n cifre in base B si rappresentano tutti i numeri interi positivi da 0 a Bn1 (Bn numeri distinti)

Esempio:Esempio: base 10

2 cifre: da 0 a 1021 = 99

000102….9899

Esempio:Esempio: base 2

2 cifre: da 0 a 221 = 3

00011011

102 = 100 valori

22 = 4 valori

Numeri interi senza segnoNumeri interi senza segno

Page 80: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8080

• La base 2 è la più piccola per un sistema di numerazioneLa base 2 è la più piccola per un sistema di numerazione

Cifre: 0 1 Cifre: 0 1 bitbit (binary digit) (binary digit)

Esempi:Esempi:

(101101)2 = 125 + 024 + 123 + 122 + 021 + 120 = 32 + 0 + 8 + 4 + 0 + 1 = (45)10

(0,0101)2 = 021 + 122 + 023 + 124 = 0 + 0,25 + 0 + 0,0625 = (0,3125)10

(11,101)2 = 121 + 120 + 121 + 022 + 123 = 2 + 1 + 0,5 + 0 + 0,125 = (3,625)10

FormaFormapolinomipolinomiaa

Il sistema binario (BIl sistema binario (B2)2)

Page 81: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8181

• Un bytebyte è un insieme di 8 bit (un numero binario ad 8 cifre)

• Con un byte si rappresentano i numeri interi fra 0 e 281 255

• È l’elemento base con cui si rappresentano i dati nei calcolatori

• Si utilizzano sempre dimensioni multiple (di potenze del 2) del byte: 2 byte (16 bit), 4 byte (32 bit), 8 byte (64 bit)…

b7b6b5b4b3b2b1b0

00000000000000010000001000000011…………….1111111011111111

28 = 256 valori distinti

Dal bit al byteDal bit al byte

Page 82: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8282

• Potenze del 2

• Cosa sono KB (Kilobyte), MB (Megabyte), GB (Gigabyte)?

24 = 1628 = 256216 = 65536

210 = 1024 (K=Kilo)220 = 1048576 (M=Mega)230 = 1073741824 (G=Giga)

1 KB = 210 byte = 1024 byte1 MB = 220 byte = 1048576 byte1 GB = 230 byte = 1073741824 byte1 TB = 240 byte = 1099511627776 byte (Terabyte)1 PB = 250 byte = 1125899906842624 byte (Petabyte)

Dal byte al kilobyteDal byte al kilobyte

Page 83: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8383

• Si divide ripetutamente il numero interointero decimale per 2 fino ad ottenere un quoziente nullo; le cifre del numero binario sono i resti delle divisioni; la cifra più significativa è l’ultimo resto

Esempio:Esempio: convertire in binario (43)10

43 : 2 = 21 + 121 : 2 = 10 + 110 : 2 = 5 + 0 5 : 2 = 2 + 1 2 : 2 = 1 + 0 1 : 2 = 0 + 1

resti

bit più significativo

(43)10 = (101011)2

Da decimale a binarioDa decimale a binarioNumeri interiNumeri interi

Page 84: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8484

• Si moltiplica ripetutamente il numero frazionariofrazionario decimale per 2, fino ad ottenere una parte decimale nulla o, dato che la condizione potrebbe non verificarsi mai, per un numero prefissato di volte; le cifre del numero binario sono le parti intere dei prodotti successivi; la cifra più significativa è il risultato della prima moltiplicazione

Esempio:Esempio: convertire in binario (0,21875)10 e (0,45)10

(0,21875)10 = (0,00111)2

0,45 2 = 0,90,90 2 = 1,80,80 2 = 1,60,60 2 = 1,20,20 2 = 0,4 etc.

(0,45)10 (0,01110)2

0,21875 2 = 0 ,43750,4375 2 = 0,8750,875 2 = 1,750,75 2 = 1,50,5 2 = 1,0

Da decimale a binarioDa decimale a binarioNumeri razionaliNumeri razionali

Page 85: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8585

• Oltre all’espansione esplicita in potenze del 2 forma polinomiaforma polinomia…

• …si può operare nel modo seguente: si raddoppia il bit più significativo e si aggiunge al secondo bit; si raddoppia la somma e si aggiunge al terzo bit… si continua fino al bit meno significativo

Esempio:Esempio: convertire in decimale (101011)2

bit più significativobit più significativo

(101011)2 = 125 + 024 + 123 + 022 + 121 + 120 = (43)10

1 x 2 = 2 + 0 2 x 2 = 4 + 1 5 x 2 = 10 + 0 10 x 2 = 20 + 1 21 x 2 = 42 + 1 = 43

(101011)2 = (43)10

Da binario a decimaleDa binario a decimale

Page 86: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8686

• Si verifichino le seguenti corrispondenze: (110010)2(50)10

(1110101)2(102)10

(1111)2(17)10

(11011)2(27)10

(100001)2(39)10

EserciziEsercizi

Page 87: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8787

• La base 16 è molto usata in campo informaticoLa base 16 è molto usata in campo informatico

Cifre:Cifre: 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F

Esempio:Esempio:

(3A2F)16 = 3163 + 10162 + 2161 + 15160 = 34096 + 10256 + 216 + 15 = (14895)10

La corrispondenza in decimale delle cifre oltre il 9 è

A = (10)10 D = (13)10

B = (11)10 E = (14)10

C = (12)10 F = (15)10

Sistema esadecimaleSistema esadecimale

Page 88: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8888

• Una cifra esadecimaleesadecimale corrisponde a 4 bit

• Si possono rappresentare numeri binari lunghi con poche cifre (1/4)

• La conversione da binario ad esadecimale è immediata, raggruppando le cifre binarie in gruppi di 4 (da destra) e sostituendole con le cifre esadecimali secondo la tabella precedente

0000 0 1000 80001 1 1001 90010 2 1010 A0011 3 1011 B0100 4 1100 C0101 5 1101 D0110 6 1110 E0111 7 1111 FF corrisponde a 4 bit a 1F corrisponde a 4 bit a 1

0 corrisponde a 4 bit a 00 corrisponde a 4 bit a 0

Da binario a esadecimaleDa binario a esadecimale

Page 89: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

8989

• Un numero binario di 4n bit corrisponde a un numero esadecimale di n cifre

Esempio:Esempio: 32 bit corrispondono a 8 cifre esadecimali1101 1001 0001 1011 0100 0011 0111 1111 D 9 1 B 4 3 7 F

(D91B437F)16

Esempio:Esempio: 16 bit corrispondono a 4 cifre esadecimali

0000 0000 1111 1111 0 0 F F

(00FF)16

Dal bit all’hexDal bit all’hex

Page 90: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9090

• La conversione da esadecimale a binario si ottiene espandendo ciascuna cifra con i 4 bit corrispondenti

EsempioEsempio:: convertire in binario il numero esadecimale 0x0x0c8f

Notazione usata in molti linguaggi di programmazione (es. C e Java) per rappresentare numeri esadecimali

0 c 8 f 0000 1100 1000 1111

Il numero binario ha 4 4=16 bit

Da esadecimale a binarioDa esadecimale a binario

Page 91: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9191

• In qualsiasi base, l’essere il sistema di numerazione posizionaleposizionale impone che combinazioni diverse di cifre uguali rappresentino numeri diversi; ad esempio:

• (319)10 (193)10

• (152)6 (512)6, infatti...

(152)6=162+561+260=36+30+2=(68)10

(512)6=562+161+260=180+6+2=(188)10

Numeri che hanno identica rappresentazione, in basi diverse, hanno valori diversi:

(234)10 (234)8 , infatti...

(234)8 = 282 + 381 + 480 = 264 + 38 + 4 = 128+24+4 = (156)10

Osservazione:Osservazione: più piccola è la base, minore è il valore del numero rappresentato dalla stessa sequenza di cifre

Esempi Esempi 1 1

Page 92: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9292

Effettivamente possiamo verificare che (100100)2=(36)10, infatti...

100100=125+024+023+122+021+020

= 32 + 4 = 36

con 66 cifre necessarie per la codifica del numero in base 2

Esempi Esempi 2 2• La notazione posizionale si applica anche per il calcolo del

valore dei numeri frazionari, infatti... (0,872)10 = 8101 + 7102 + 2103

= 8/10 + 7/100 + 2/1000 = 0,8 + 0,07 + 0,002

• Quante cifre occorreranno per rappresentare il numero decimale 36 in base 2? Sappiamo che con n cifre si rappresentano i numeri da 0 a 2n1, quindi...

per n=1 (con una cifra) si rappresentano 0...211 0,1 per n=2: 0...221 0...3 per n=3: 0...231 0...7 per n=4: 0...241 0...15 per n=5: 0...251 0...31 per n=6: 0...261 0...63

Page 93: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9393

Esempi Esempi 3 3

(79)/2 = 1

(7+9)/2 = 8 È la soluzione!È la soluzione!

Non può essere una base

• Quesito:Quesito: Per quale base B risulterà vera l’uguaglianza

17 + 41 + 22 = 102 ?

Se i numeri sono rappresentati in base B, sappiamo che:

(17)B = 1B1+7B0 = B+7

(41)B = 4B1+1B0 = 4B+1

(22)B = 2B1+2B0 = 2B+2

(102)B = 1B2+0B1+2B0 = B2+2

da cui... B+7+4B+1+2B+2 = 7B+10 = B2+2

Si ottiene un’equazione di 2° grado: B2 7B 8 = 0

Risolvendo: = 49+32 = 81

B = (7 )/2 =

Page 94: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9494

La rappresentazione dei dati e La rappresentazione dei dati e l’aritmetica degli elaboratoril’aritmetica degli elaboratori

Page 95: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9595

• I numeri interi positivi sono rappresentati all’interno dell’elaboratore utilizzando un multiplo del byte (generalmente 8 byte)

• Se l’intero si rappresenta con un numero di cifre minore, vengono aggiunti zeri nelle cifre più significative

Esempio:Esempio: 12 viene rappresentato in un byte come… 00001100

Numeri interi positiviNumeri interi positivi

Page 96: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9696

• Per rappresentare numeri con segno, occorre utilizzare un bit per definire il segno del numero

• Si possono usare tre tecniche di codifica

Modulo e segnoModulo e segno Complemento a 2Complemento a 2 Complemento a 1Complemento a 1

Numeri con segnoNumeri con segno

Page 97: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9797

• Il bit più significativo rappresenta il segno: 0 per i numeri positivi, 1 per quelli negativi

• Esiste uno zero positivo (00…0) e uno zero negativo (10…0)• Se si utilizzano n bit si rappresentano tutti i numeri

compresi fra (2n11) e 2n11

Esempio:Esempio: con 4 bit si rappresentano i numeri fra 7 ((231)) e 7 (231)

0000 00001 10010 20011 30100 40101 50110 60111 7

1000 01001 11010 21011 31100 41101 51110 61111 7

positivipositivi negativinegativi

Modulo e segnoModulo e segno

Page 98: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9898

Complemento a 2Complemento a 2

• Il complemento a 2 di un numero binario (N)2 a n cifre è il numero

• Il complemento a 2 si calcola… Effettuando il complemento a 1 del numero di partenza (negazione

di ogni cifra): si trasforma ogni 0 in 1 e ogni 1 in 0 Aggiungendo 1 al numero ottenuto

• Oppure: a partire da destra, lasciando invariate tutte le cifre fino al primo 1 compreso, quindi invertendo il valore delle rimanenti

2n(N)2 = 10……0(N)2

{ n zeri

100000000011111111 01010111 10101000

10101001

28

281N281N

281N1

010101111010100010101001

complemento complemento a 1a 1 1

Page 99: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

9999

• I numeri positivinumeri positivi sono rappresentati (come) in modulo e segno

• I numeri negativinumeri negativi sono rappresentati in complemento a 2 la cifra più significativa ha sempre valore 1

• Lo zero è rappresentato come numero positivo (con una sequenza di n zeri)

• Il campo dei numeri rappresentabili varia da 2n1 a 2n11Esempio:Esempio: numeri a 4 cifre

Interi in complemento a 2Interi in complemento a 2

0000 00001 10010 20011 30100 40101 50110 60111 7

1000 81001 71010 61011 51100 41101 31110 21111 1

Nota:Nota: 0111 7 1000 8

Page 100: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

100100

• Numeri interi rappresentati su 16 bit in complemento a 2:Il numero intero positivo più grande è 2151=(32767)10

0111 1111 1111 11110x 7 F F F

Il numero intero negativo più piccolo è 215=(32768)10

1000 0000 0000 00000x 8 0 0 0

0111 1111 1111 1111 + 1 1000 0000 0000 0000

Il numero intero –1 è rappresentato come

1111 1111 1111 11110x F F F F

0000 0000 0000 0000 + 1 0000 0000 0000 0001

Interi a 16 bitInteri a 16 bit

Page 101: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

101101

• Le regole per l’addizione di due bit sono

• L’ultima regola è… (1)2(1)2 (10)2 … (112)10 !!

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0 con riporto di 1

EsempioEsempio

181

91+90

1 11 101011011+01011010 10110101

riportiriporti

Addizione binariaAddizione binaria

Page 102: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

102102

• Le regole per la sottrazione di due bit sono

• La sottrazione può divenire complicata: quando si ha una richiesta sulla cifra precedente a sinistra, che è uno 0, l’operazione si propaga a sinistra fino alla prima cifra ad 1 del sottraendo

0 0 = 0 1 0 = 1 1 1 = 010 1 = 1 con prestito di 1 dalla cifra precedente a sinistra EsempioEsempio 0 10

1 1 0 0 1 1 0 1 1 0 1 0 0 20

25 5

Sottrazione binaria Sottrazione binaria 1 1

Page 103: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

103103

• Utilizzando la rappresentazione in complemento a 2, addizione e sottrazione sono trattate come un’unica operazione

Si calcola il complemento a 2 di N2

Si somma N1 con il complemento a 2 di N2

Si trascura il bit più significativo del risultato

Esempio:Esempio: (010001)2(000101)2 = (17)10(5)10

010001 1110111001100 (12)10

N1N2 = N1(2nN2)2n

complemento a 2 di N2: rappresentazione di (N2)

si trascura il bit si trascura il bit nn 11{

Sottrazione binaria Sottrazione binaria 2 2

Page 104: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

104104

• Sono utili perché l’operazione di somma algebrica può essere realizzata non curandosi del bit di segno

• In complemento a 1 (più semplice da calcolare)… Zero ha due rappresentazioni: 00000000 e 10000000 La somma bit a bit funziona “quasi sempre”

• In complemento a 2… Zero ha una sola rappresentazione La somma bit a bit funziona sempre

11001 (6)

11010 = (5)

10011 10011 (12)

00110 (6)

10101 = (10)

11011 (4)

Rappresentazioni in Rappresentazioni in complementocomplemento

Page 105: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

105105

• L’overflowoverflow si ha quando il risultato di un’operazione non è rappresentabile correttamente con n bit

• Per evitare l’overflow occorre aumentare il numero di bit utilizzati per rappresentare gli operandi

• C’è overflow se c’è riporto al di fuori del bit di segno e non sul bit di segno, o se c’è riporto sul bit di segno, ma non al di fuori

Esempio:Esempio: 5 bit [16,15]

01110 01010 11000

14 10 24

11000 10110 101110

8 10 188 14

OverflowOverflow

Page 106: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

106106

• Le regole per la moltiplicazione di due bit sono

• Moltiplicare per 2n corrisponde ad aggiungere n zeri in coda al moltiplicando

0 0 = 00 1 = 01 0 = 01 1 = 1

EsempioEsempio 1100111 101 1100111 0000000 11001111000000011

110011 10000 = 11001100000000 16 = 24

816

51

Moltiplicazione binariaMoltiplicazione binaria

Page 107: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

107107

• La divisione binaria di A per B viene calcolata in modo analogo alla divisione decimale, così da ottenere un quoziente Q ed un resto R, tali che A BQ R

• La divisione binaria si compone di una serie di sottrazioni

• Dividere per 2n equivale a scorrere il numero a destra di n posizioni; le cifre scartate costituiscono il resto

1 1 0 1 1 0 1 0 11 0 1 1 0 1 0 1 1 1

1 0 1 1 0 0

(

^^^

54 = 510 + 4

51:16 = 3 con resto 3

110011 10000 = 11 con resto 11

Divisione binariaDivisione binaria

Page 108: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

108108

• Quesito:Quesito: Data una base B, si consideri il numero x(C5C4C3C2C1C0)B, dove le singole cifre valgono:

C5 B1, C4 B1, C3 B1, C2 0, C1 0, C0 0

Qual è la rappresentazione in base B del risultato dell’espressione (x/B3)1?

Dividere per B3, che per qualsiasi base si rappresenta come 1000, equivale a “shiftare” il numero di tre cifre a sinistra

Rimangono quindi le tre cifre più significative, tutte uguali a B1

Sommando 1, a causa dei riporti, si ottiene quindi come risultato dell’espressione 1000B3, qualsiasi sia il valore della base B

EsempioEsempio

Page 109: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

109109

• Esercizio 1Esercizio 1 Assumendo che un elaboratore rappresenti i numeri interi con segno su quattro bit in complemento a 2, si calcolino entrambi i membri della seguente identità:

(A(AC)C)B B (A (AB)B)CC,

con AA77, BB55, CC77. Si ottiene lo stesso risultato dal calcolo dei due membri? Discutere le motivazioni della risposta.

• Esercizio 2Esercizio 2

Si determini, se esiste, la base b di un sistema di numerazione tale che (842)(842)bb (1202) (1202)1010

Si determini, se esiste, la base b 16 di un sistema di numerazione tale che (725)(725)bb (626) (626)bb (224) (224)1010

EserciziEsercizi

Page 110: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

• La rappresentazione dei numeri in virgola mobile è in relazione con la notazione scientifica notazione scientifica (es. 1.2102120)

• La IEEE ha previsto uno standard per la rappresentazione in virgola mobile

110110

singola precisionesingola precisione (32 bit = 4 byte) doppia precisionedoppia precisione (64 bit = 8 byte) quadrupla precisionequadrupla precisione (128 bit = 16 byte)

Singola precisione031 2223

23 bit8 bit

MantissaMantissa(o CaratteristicaCaratteristica)

SegnoSegno

Il valore è(1)S 1.M2E127 se E0(1)S 0.M2126 se E=0

EsponenteEsponente

Numeri in virgola mobileNumeri in virgola mobile

EccessoEccesso:: vale 2t11, se t è il numero di cifre riservate alla caratteristica rappresentazione “interna” dell’esponente sempre positiva

Page 111: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

111111

• Il numero più grande rappresentabile è 2128(2223)21296.811038

• Il più piccolo numero positivo è 212622321491.41045

• In totale si rappresentano 232 numeri distinti, metà positivi, metà negativi

• Circa metà dei numeri sono compresi fra 1 e 1 (E127<0)

0 11111111 11111111111111111111111 2255127 1.111111111111111111111111

0 00000000 00000000000000000000001 2126 0.00000000000000000000001

0 1 2 4

223 valori223 valori 223 valori223 valori

0.50.25

0 01111110 00000000000000000000000

0 01111101 00000000000000000000000

0.50.25

Singola precisioneSingola precisione

Page 112: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

112112

• Metodo per il calcolo dell’addizioneMetodo per il calcolo dell’addizione

1. Se le caratteristiche dei numeri sono diverse, si considera il numero con caratteristica minore e…

1.1 Si trasla la mantissa di un posto a destra

1.2 Si incrementa la caratteristica di 1, fino a quando le due

2. La mantissa del risultato è ottenuta dalla somma delle due mantisse

3. Se l’addizione comporta un riporto oltre la cifra più significativa, si trasla la mantissa del risultato a destra di un posto, il riporto nel bit più significativo, e si incrementa la caratteristica di 1

caratteristiche sono uguali, e corrispondono alla caratteristica del risultato

L’aritmetica floatingL’aritmetica floatingpoint:point:AddizioneAddizione

Page 113: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

113113

• Supponiamo che per la rappresentazione floating–point vengano utilizzati otto bit, di cui uno per il segno, tre per la caratteristica e quattro per la mantissa

• La caratteristica del secondo operando è più piccola di una unità, quindi la mantissa deve scorrere di una posizione a destra

• La caratteristica del risultato è 110 e la mantissa è 1101+ 0100 = 10001; la caratteristica deve essere aumentata di 1 e portata a 111, e la mantissa del risultato traslata a destra di una posizione:

1001 0100

0 1 001 11 0Codifica il numero 4 (dato che la caratteristica si rappresenta in eccesso a 4), ma il risultato corretto è 4.375: errore di errore di troncamentotroncamento

1.125

3.25

01 100 01 1

0 0 111 11 0N = (1)s0.M2E4

Un esempio di addizioneUn esempio di addizione

Page 114: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

114114

• Metodo per il calcolo della moltiplicazioneMetodo per il calcolo della moltiplicazione

1. Si moltiplicano le due mantisse

2. Si addizionano le due caratteristiche

3. Si trasla a sinistra il prodotto delle due mantisse fino ad ottenere un 1 come cifra più significativa; si diminuisce la caratteristica di 1 per ogni traslazione eseguita

4. Si tronca la mantissa al numero di bit utilizzati nella rappresentazione; la mantissa del prodotto è il risultato del troncamento

5. Si sottrae l’eccesso alla somma delle caratteristiche, ottenendo la caratteristica del prodotto

L’aritmetica floatingL’aritmetica floatingpoint:point:MoltiplicazioneMoltiplicazione

Page 115: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

115115

• Supponiamo che per la rappresentazione floating–point vengano utilizzati otto bit, di cui uno per il segno, tre per la caratteristica e quattro per la mantissa

• Moltiplicando le mantisse e sommando le caratteristiche si ottiene:

• La mantissa del risultato deve essere traslata di un posto a sinistra, e la somma delle caratteristiche deve essere decrementata di 1; infine la mantissa deve essere troncata alle 4 cifre significative e l’eccesso (100) sottratto alla caratteristica:

M=01110101 E=111

0 0 010 11 1Codifica il numero 0.21875, ma il risultato corretto è 0.228515625: errore di troncamentoerrore di troncamento

01 100 01 1 1.125

0.2031250 0 110 11 0N = (1)s0.M2E4

Un esempio di moltiplicazioneUn esempio di moltiplicazione

Page 116: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

116116

• L’aritmetica “interna” degli elaboratori differisce notevolmente dall’aritmetica classica

• Sebbene le stesse operazioni possano essere realizzate secondo modalità diverse su elaboratori diversi, si riscontrano alcune caratteristiche comuni:

Rappresentazione binaria dei numeriRappresentazione binaria dei numeri

Rango finito dei numeri rappresentabiliRango finito dei numeri rappresentabili

Precisione finita dei numeriPrecisione finita dei numeri

Operazioni espresse in termini di operazioni più Operazioni espresse in termini di operazioni più semplicisemplici

L’aritmetica degli elaboratori L’aritmetica degli elaboratori 1 1

Page 117: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

117117

• Rango finito dei numeri rappresentabiliRango finito dei numeri rappresentabili

Qualunque sia la codifica utilizzata, esistono sempre il più grande ed il più piccolo numero rappresentabile

I limiti inferiore e superiore del rango di rappresentazione dipendono sia dal tipo di codifica, sia dal numero di bit utilizzati

Se il risultato di un’operazione non appartiene al rango dei numeri rappresentabili, si dice che si è verificato un overflow (un underflowunderflow, più precisamente, se il risultato è più piccolo del più piccolo numero rappresentabile)

L’aritmetica degli elaboratori L’aritmetica degli elaboratori 2 2

Page 118: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

118118

• Precisione finita dei numeriPrecisione finita dei numeri La precisioneprecisione della rappresentazione di un numero

frazionario è una misura di quanto essa corrisponda al numero che deve essere rappresentato

Negli elaboratori, i numeri frazionari sono rappresentati in virgola mobile (floating–pointfloating–point), utilizzando un numero finito di bit

È plausibile che un numero reale non ammetta una rappresentazione finita, quindi dovrà essere codificato in maniera approssimata

Negli elaboratori si rappresentano soltanto numeri razionali (fino ad una data precisione)

L’aritmetica degli elaboratori L’aritmetica degli elaboratori 3 3

Page 119: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

119119

• Operazioni espresse in termini di operazioni più Operazioni espresse in termini di operazioni più semplicisemplici La maggior parte degli elaboratori non possiede circuiti

in grado di eseguire direttamente tutte le operazioni: La sottrazione si realizza per mezzo di una

complementazione e di un’addizione La moltiplicazione si realizza per mezzo di una

successione di addizioni e di shift shift (traslazioni) La divisione si realizza per mezzo di una successione di

shift e sottrazioni Le operazioni più semplici sono eseguite direttamente

da appositi circuiti (in hardwarehardware); le operazioni più complesse sono realizzate mediante l’esecuzione di successioni di operazioni più semplici, sotto il controllo di programmi appositamente realizzati, e generalmente memorizzati permanentemente (in firmwarefirmware)

L’aritmetica degli elaboratori L’aritmetica degli elaboratori 4 4

Page 120: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

120120

• Oltre ai numeri, molte applicazioni informatiche elaborano caratteri (simboli)

• Gli elaboratori elettronici trattano numeri Si codificano i caratteri e i simboli per mezzo di Si codificano i caratteri e i simboli per mezzo di

numerinumeri• Per poter scambiare dati (testi) in modo corretto,

occorre definire uno standard di codificaA 01000001

3 00110011

$ 00100100

Codifica dei caratteri alfabetici Codifica dei caratteri alfabetici 11

Page 121: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

121121

• Ovvero… quando si scambiano dati, deve essere noto il tipo di codifica utilizzato

• La codifica deve prevedere le lettere dell’alfabeto, le cifre numeriche, i simboli, la punteggiatura, i caratteri speciali per certe lingue (æ, ã, ë, è,…)

• Lo standard di codifica più diffuso è il codice codice ASCIIASCII, per American Standard Code for American Standard Code for Information InterchangeInformation Interchange

Codifica dei caratteri alfabetici Codifica dei caratteri alfabetici 22

Page 122: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

122122

• Definisce una tabella di corrispondenza fra ciascun carattere e un codice a 7 bit7 bit (128 caratteri)

• I caratteri, in genere, sono rappresentati con 1 byte1 byte (8 bit); i caratteri con il bit più significativo a 1 (quelli con codice dal 128 al 255) rappresentano un’estensione della codifica

• La tabella comprende sia caratteri di controllocaratteri di controllo (codici da 0 a 31) che caratteri stampabilicaratteri stampabili

• I caratteri alfabetici/numerici hanno codici ordinati secondo l’ordine alfabetico/numerico

A 65B 66…….Y 89Z 90

a 97b 98…….y 121z 122

0 481 49…….8 569 57

cifrecifre maiuscole minuscolemaiuscole minuscole

Codifica ASCIICodifica ASCII

Page 123: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

123123

• I caratteri di controllo (codice da 0 a 31) hanno funzioni speciali• Si ottengono o con tasti specifici o con una sequenza CtrlCtrlcaratterecarattere

Ctrl Dec Hex Code Nota^@ 0 0 NULL carattere nullo^A 1 1 SOH partenza blocco…… … … …… …………………^G 7 7 BEL beep^H 8 8 BS backspace^I 9 9 HT tabulazione orizzontale^J 10 A LF line feed (cambio linea)^K 11 B VT tabulazione verticale^L 12 C FF form feed (alim. carta)^M 13 D CR carriage return (a capo)…… … … …… ……………………^Z 26 1A EOF fine file^[ 27 1 B ESC escape…… … … …… ………^_ 31 1F US separatore di unità

Caratteri di controllo ASCIICaratteri di controllo ASCII

Page 124: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

124124

Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr

32 20 SPACE 48 30 0 64 40 @ 80 50 P 96 60 ` 112 70 p33 21 ! 49 31 1 65 41 A 81 51 Q 97 61 a 113 71 q34 22 ” 50 32 2 66 42 B 82 52 R 98 62 b 114 72 r 35 23 # 51 33 3 67 43 C 83 53 S 99 63 c 115 73 s36 24 $ 52 34 4 68 44 D 84 54 T 100 64 d 116 74 t37 25 % 53 35 5 69 45 E 85 55 U 101 65 e 117 75 u38 26 & 54 36 6 70 46 F 86 56 V 102 66 f 118 76 v39 27 ’ 55 37 7 71 47 G 87 57 W 103 67 g 119 77 w40 28 ( 56 38 8 72 48 H 88 58 X 104 68 h 120 78 x 41 29 ) 57 39 9 73 49 I 89 59 Y 105 69 i 121 79 y42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z43 2B + 59 3B ; 75 4B K 91 5B [ 107 6B k 123 7B {44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C |45 2D - 61 3D = 77 4D M 93 5D ] 109 6D m 125 7D }46 2E . 62 3E > 78 4E N 94 5E ^ 110 6E n 126 7E ~47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o 127 7F DEL

Nota:Nota: il valore numerico di una cifra può essere calcolato come differenza del suo codice ASCII rispetto al codice ASCII della cifra 0 (es. ‘5’‘0’ = 53 48 = 5)

Caratteri stampabiliCaratteri stampabili

Page 125: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

125125

• I codici oltre il 127 non sono compresi nello standard originario

Tabella ASCII estesaTabella ASCII estesa

Page 126: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

• Le immagini vengono anch’esse codificate come una sequenza di bit: il processo di “traduzione” da un’immagine ad una sequenza binaria prende il nome di digitalizzazionedigitalizzazione

L’immagine è suddivisa in punti o pixel pixel (per picture picture element element ) e ciascun punto viene codificato con un numero, che corrisponde ad un colore o ad un particolare tono di grigio

Si utilizzano un numero di colori o di sfumature che sia una potenza del 2, in modo da codificare l’informazione legata a ciascun pixel con un opportuno numero di bit

La codifica delle immagini La codifica delle immagini 1 1

126126

Page 127: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

• Le immagini vengono memorizzate come lunghe sequenze di bit: per interpretarle è necessario conoscere...

...le dimensioni dell’immagine (base ed altezza in numero di pixel), detta anche risoluzionerisoluzione

...il numero di colori (o toni di grigio) disponibili per ogni pixel

• Se un immagine viene codificata ad una data risoluzione, potrà comunque essere presentata su un dispositivo a più bassa risoluzione, a patto di “ignorare” parte dell’informazione

La codifica delle immagini La codifica delle immagini 2 2

127127

Page 128: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

• Come è avvenuto per i caratteri, anche per le immagini sono stati definiti standard di codifica, che assicurano la compatibilità fra sistemi diversi, per quanto concerne la trasmissione e la visualizzazione delle immagini

TIFF TIFF Tagged Image File FormatTagged Image File Format

JPEGJPEG

PNG PNG Portable Network GraphicsPortable Network Graphics

• Per ridurre lo spazio necessario per memorizzare le immagini si utilizzano tecniche di compressionecompressione (utili anche per la trasmissione su rete Internet)

La codifica delle immagini La codifica delle immagini 3 3

128128

Page 129: Anno accademico 2010-2011 1 Fondamenti di Informatica E-mail: monica@dii.unisi.it Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Anno accademico 2010-2011Anno accademico 2010-2011

La codifica delle immagini La codifica delle immagini 4 4

• Le tecniche di compressione si dividono in…

Tecniche lossless:Tecniche lossless: non provocano perdita di informazione, sono adatte a codificare immagini in cui sono presenti ampie aree monocromatiche si codificano in maniera compatta insiemi di pixel aventi le stesse caratteristiche

Tecniche lossly: Tecniche lossly: provocano perdita di informazione, facendo decadere la qualità dell’immagine

• Normalmente ai formati JPEG e PNG, molto diffusi per lo scambio di immagini su Internet, si applicano metodi di compressione lossly

129129