La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Anno accademico 2010-2011 1 Fondamenti di Informatica Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946.

Presentazioni simili


Presentazione sul tema: "Anno accademico 2010-2011 1 Fondamenti di Informatica Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946."— Transcript della presentazione:

1 Anno accademico Fondamenti di Informatica Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946 ca.)

2 Anno accademico IntroduzioneIntroduzione il calcolo automatico dalla preistoria ai giorni nostri Lalgebra di BooleLalgebra 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: lalfabeto dellelaboratore La rappresentazione dei dati e laritmetica degli elaboratoriLa rappresentazione dei dati e laritmetica degli elaboratori dai bit ai numeri, ai testi, alle immagini, alla musica, ai video in digitale UNIVAC (1951) Sommario

3 Anno accademico Introduzione

4 4 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 1 La presenza invasiva dellinformatica 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 anni fa I primi esempi di algoritmi procedure di calcolo automatico sono stati scoperti in Mesopotamia su tavolette babilonesi risalenti al a.C. Macchina moltiplicatrice (1624) Wilhelm Schickard ( ) Wilhelm Schickard ( )

5 Anno accademico Pascal e Leibnitz non solo affrontarono il problema, già studiato da Cartesio, di automatizzare il ragionamento logico matematico, ma si cimentarono anche nella realizzazione di semplici macchine per calcolare (capaci di effettuare somme e sottrazioni) Cenni storici 2 Gottfried Leibnitz ( ) Blaise Pascal ( ) Macchina computazionale (G. Leibnitz) Macchina addizionatrice la Pascalina (B. Pascal)

6 Anno accademico macchina alle differenzeLa macchina alle differenze, concepita da Babbage nel 1833, rappresenta il primo esempio di macchina programmabile di utilità generale macchina analiticaIn seguito, lo stesso Babbage progetta la macchina analitica (mai realizzata, troppo complessa e critica la sua costruzione per le tecnologie meccaniche dellepoca) La prima programmatrice nella storia dellinformatica è Ada Augusta Byron, contessa di Lovelace Cenni storici 3 Charles Babbage ( ) Macchina alle differenze: modello ricostruito presso il Museo della Scienza di Londra seguendo il progetto del 1849

7 Anno accademico macchina a schede perforateFu Herman Hollerith, nel 1890, a sviluppare la macchina a schede perforate, 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 lincremento di popolazione da 50 a 63 milioni Cenni storici 4 Herman Hollerith ( ) Census Tabulator (1890)

8 Anno accademico Computing Tabulating Recording Company International Business MachineIBMSuccessivamente 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 Company che, nel 1923, divenne lInternational Business Machine, o IBM 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 5 Konrad Zuse ( ) Il calcolatore Z1 (1939)

9 Anno accademico Durante la seconda guerra mondiale, fioriscono i progetti di elaboratori da utilizzarsi per scopi bellici La macchina Enigma Cenni storici 6 Alan Turing ( ) Enigma Enigma, realizzata dai tedeschi (A. Scherbius) per codificare le comunicazioni militari Red Purple Red Purple, di costruzione giapponese Computer Colossus Alan Turing Computer Colossus, costruito dagli inglesi per la decifrazione dei messaggi tedeschi, alla cui progettazione e realizzazione collaborò Alan Turing, permise la vittoria anglo americana sullAtlantico

10 Anno accademico tubo a vuoto transistor circuiti integratiCon linvenzione del tubo a vuoto (1904), del transistor (1947) e, infine, dei circuiti integrati (1969), levoluzione dei computer divenne inarrestabile Finora la potenza di calcolo degli elaboratori si è decuplicata ogni 5 6 anni (…ma non può durare, almeno con le tecnologie in uso) Cenni storici 7

11 Anno accademico ENIAC Mark ILa costruzione dei primi calcolatori risale allinizio degli anni 40, grazie alla tecnologia elettronica; i primi esemplari venivano programmati mediante connessioni elettriche e commutatori (ENIAC, Mark I) EDSAC WhirlwindIASUNIVACIl nome di Von Neumann è legato invece ai primi calcolatori a programma memorizzato realizzati alla fine degli anni 40 (EDSAC, Whirlwind, IAS, UNIVAC) unitarietà di rappresentazione di dati e istruzioni Per la prima volta, vige il principio di unitarietà di rappresentazione di dati e istruzioni, che vengono codificati, allinterno dellelaboratore, in maniera indistinguibile La diffusione dei calcolatori a livello mondiale è avvenuta nei decenni 60 e 70 Cenni storici 8 John Von Neumann ( )

12 Anno accademico EDSAC (1949) ENIAC (1946) Mark I (1948) UNIVAC (1952) Whirlwind (1949) IAS (1952) Cenni storici 9

13 Anno accademico Personal ComputerTuttavia, lesplosione dellinformatica come fenomeno di massa è datata 1981, anno in cui lIBM introdusse un tipo particolare di elaboratore: il Personal Computer (PC) La particolarità dei PC consisteva nellessere assemblati con componenti facilmente reperibili sul mercato (e quindi a basso costo) Possibilità per qualsiasi casa produttrice di costruire cloni microprocessoreAttualmente i PC, o meglio il loro componente fondamentale il microprocessore è 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 micro onde Computer di bordo e ABS... Cenni storici 10

14 Anno accademico Lesigenza di realizzare sistemi di elaborazione dotati di più processori operanti in parallelo è stata sentita fin dalla preistoria dellinformatica 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 CDC6600IlliacCraySolo la riduzione dei costi dellhardware ha consentito, verso la fine degli anni 60, leffettiva costruzione dei primi supercalcolatori, come le macchine CDC6600 e Illiac e, successivamente, il Cray e le macchine vettoriali reti neuraliA partire dagli anni 90, gli ulteriori sviluppi della microelettronica hanno permesso la realizzazione di calcolatori a parallelismo massiccio e a grana fine, caratterizzati dallinterconnessione di decine di migliaia di unità di elaborazione elementari: le reti neurali, capaci di simulare il comportamento del cervello umano, sulla base degli studi di McCulloch e Pitts (1943) Cenni storici 11

15 Anno accademico CDC 6600 (1963) Illiac (1955) PC IBM (1981) Cray 1 (1976) Cray XE6 (2010) Portatile e Palmare (oggi) Cenni storici 12

16 Anno accademico 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 dellelaborazione automatica è un capriccio che non vedrà la fine dellanno. (Editor di libri scientifici di Prentice Hall, 1947) Una unità di calcolo sullENIAC è dotata di 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 dellIBM, commentando il microchip, 1965). New York Times La scienza nel ventesimo secoloNel 1976, il New York Times pubblicò un libro dal titolo La scienza nel ventesimo secolo, 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…

17 Anno accademico Informatica informazione automaticaInformatica fusione delle parole informazione e automatica linsieme delle discipline che studiano gli strumenti per lelaborazione automatica dellinformazione e i metodi per un loro uso corretto ed efficace Linformatica è la scienza della rappresentazione e dellelaborazione dellinformazioneLinformatica è la scienza della rappresentazione e dellelaborazione dellinformazione Laccento sull informazione fornisce una spiegazione del perché linformatica sia ormai parte integrante di molte attività umane: laddove deve essere gestita dellinformazione, linformatica è un valido strumento di supporto Il termine scienza sottolinea il fatto che, nellinformatica, lelaborazione dellinformazione avviene in maniera sistematica e rigorosa, e pertanto può essere automatizzata Che cosè linformatica 1

18 Anno accademico Linformatica non è la scienza dei calcolatori elettronici: il calcolatore è lo strumento che la rende operativa elaboratore digitaleelettronicaautomaticaLelaboratore (computer, calcolatore) è unapparecchiatura digitale, elettronica ed automatica capace di effettuare trasformazioni sui dati: Digitale: digit Digitale: i dati sono rappresentati mediante un alfabeto finito, costituito da cifre, digit, 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è linformatica 2

19 Anno accademico memoriaLa capacità dellelaboratore di eseguire successioni di operazioni in modo automatico è determinata dalla presenza di un dispositivo di memoria dati Nella memoria sono registrati i dati e... programma...le operazioni da eseguire su di essi (nellordine secondo cui devono essere eseguite): il programma, la ricetta usata dallelaboratore per svolgere il proprio compito unità di controlloIl programma viene interpretato dallunità di controllo Modello di Von Neumann Larchitettura di Von Neumann

20 Anno accademico Programma:Programma: sequenza di operazioni atte a predisporre lelaboratore alla soluzione di una determinata classe di problemi algoritmo Il programma è la descrizione di un algoritmo in una forma comprensibile allelaboratore Algoritmo:Algoritmo: sequenza finita di istruzioni attraverso le quali un operatore umano è capace di risolvere ogni problema di una data classe; non è direttamente eseguibile dallelaboratore macchina universaleLelaboratore è una macchina universale: cambiando il programma residente in memoria, è in grado di risolvere problemi di natura diversa (una classe di problemi per ogni programma) La macchina universale

21 Anno accademico Linformatica è lo studio sistematico degli algoritmi che descrivono e trasformano linformazione: la loro teoria, analisi, progetto, efficienza, realizzazione (ACM, Association for Computing Machinery)Linformatica è lo studio sistematico degli algoritmi che descrivono e trasformano linformazione: la loro teoria, analisi, progetto, efficienza, realizzazione (ACM, Association for Computing Machinery) NotaNota È possibile svolgere concettualmente unattività di tipo informatico senza lausilio del calcolatore, per esempio nel progettare ed applicare regole precise per svolgere operazioni aritmetiche con carta e penna; lelaboratore, tuttavia, è uno strumento di calcolo potente, che permette la gestione di quantità di informazione altrimenti intrattabili Ancora sullinformatica…

22 Anno accademico Lalgebra di Boole

23 Anno accademico falsoveroContempla due costanti 0 e 1 (falso e vero) 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 ANDORNOTSui valori booleani si definiscono le operazioni AND, OR, NOT 01 George Boole ( ) Lalgebra di Boole 1

24 Anno accademico Le operazioni AND e OR sono operazioni binarie, loperazione NOT è unaria Nella valutazione delle espressioni booleane esiste una relazione di precedenza fra gli operatori NOT, AND e OR, nellordine in cui sono stati elencati Gli operatori dellalgebra booleana possono essere rappresentati in vari modi Spesso sono descritti semplicemente come AND, OR e NOT porte logiche Nella descrizione dei circuiti appaiono sotto forma di porte logiche In matematica si usano per OR e per AND, mentre si rappresenta il NOT con una barra posta sopra lespressione che viene negata Lalgebra di Boole 2

25 Anno accademico somma logicaSi definisce loperazione di somma logica (OR): il valore della somma logica è il simbolo 1 se il valore di almeno uno degli operandi è il simbolo Loperazione di OR

26 Anno accademico prodotto logicoSi definisce loperazione di prodotto logico (AND): il valore del prodotto logico è il simbolo 1 se il valore di tutti gli operandi è il simbolo Loperazione di AND

27 Anno accademico negazioneSi definisce loperatore di negazione (NOT): loperatore inverte il valore della costante su cui opera Dalla definizione… La negazione NOT 0 1

28 Anno accademico Una variabile binaria indipendente può assumere uno dei due valori 0 e 1 Date n variabili binarie indipendenti, la loro somma logica (OR) è x 0 1 x 1 + x 2 + … + x n = 1 se almeno una x i vale 1 0 se x 1 = x 2 = …= x n = 0 Variabili binarie

29 Anno accademico Date n variabili binarie indipendenti, il loro prodotto logico (AND) è La negazione di una variabile x è complementoLelemento x NOT( x ) viene detto complemento di x ; il complemento è unico 29 x 1 x 2 … x n = 0 se almeno una x i vale 0 1 se x 1 = x 2 = …= x n = 1 x = 0 se x = 1 x = 1 se x = 0 AND e NOT con variabili binarie

30 Anno accademico Si verificano le seguenti identità: elemento neutro 0 è lelemento neutro per loperazione di OR; 1 è lelemento neutro per lAND Gli elementi neutri sono unici Ad esempio… x x + 0 x x + x x x 1 x x 0 0 x x x x 1 x x 0 x 1 OK! Alcune identità Legge dellidempotenza

31 Anno accademico Per gli operatori AND e OR valgono le seguenti proprietà: Per loperatore NOT si provano le seguenti identità: commutativa commutativa x 1 + x 2 x 2 + x 1 x 1 x 2 x 2 x 1 associativa associativa x 1 + x 2 + x 3 x 1 + ( x 2 + x 3 ) x 1 x 2 x 3 x 1 ( x 2 x 3 ) distributiva del prodotto rispetto alla somma distributiva del prodotto rispetto alla somma x 1 x 2 + x 1 x 3 x 1 ( x 2 + x 3 ) x + x 1 x x 0 x x Altre proprietà

32 Anno accademico Date n variabili binarie indipendenti x 1, x 2, …, x n, queste possono assumere 2 n 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 x1x2x3x1x2x x1x2x3x1x2x3 010 Configurazione delle variabili

33 Anno accademico Una variabile y è una funzione delle n variabili indipendenti x 1, x 2, …, x n, se esiste un criterio che fa corrispondere in modo univoco ad ognuna delle 2 n configurazioni delle x i un valore di y tabella di veritàUna rappresentazione esplicita di una funzione è la tabella di verità, in cui si elencano tutte le possibili combinazioni di x 1, x 2, …, x n, con associato il valore di y y = F (x 1, x 2, …, x n ) x 1 x 2 y y = x 1 +x 2 Funzioni logiche

34 Anno accademico 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 F Si può scrivere la funzione come somma logica delle configurazioni corrispondenti agli 1 F(A,B,C) ABC ABC ABC Forma canonica: somma di prodotti (OR di AND) tutte le funzioni logiche si possono scrivere in questa forma Una tabella di verità

35 Anno accademico XORLa funzione XOR verifica la disuguaglianza di due variabili Lespressione come somma di prodotti è quindi... x 1 x 2 XOR XOR = x 1 x 2 + x 1 x 2 Un esempio: lo XOR 1

36 Anno accademico Un esempio: lo XOR 2 XOR Porta logica per XOR

37 Anno accademico Legge dellassorbimentoLegge dellassorbimento x 1 x 1 x 2 x 1 Leggi di De MorganLeggi di De Morgan ( x 1 x 2 ) x 1 x 2 Dalle leggi di De Morgan si evince che la scelta delle funzioni OR, AND e NOT, come funzioni primitive, è ridondante Loperazione logica AND può essere espressa in funzione delle operazioni OR e NOT; in modo analogo, loperazione 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 Esempi

38 Anno accademico Un esempio di circuito logico y 1 = F (B, C, D) = (B C)D

39 Anno accademico 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 dellinterruttore L A B A B A B A B A=1 B=0 L A B A B A=1 B=1 L A B A B A=0 B=1 L A B A B A=0 B=0 L Un circuito con due interruttori

40 Anno accademico Progettare un circuito per accendere e spegnere una lampada da uno qualsiasi di tre interruttori indipendenti A B C A BC Cambia lo stato di un interruttore qualsiasi L = 0 L = 1 Un esercizio

41 Anno accademico Si considera cosa accade a partire dalla configurazione di partenza, cambiando lo stato di un interruttore per volta Analisi delle combinazioni

42 Anno accademico tabella di veritàDalle otto combinazioni si ottiene la tabella di verità della funzione logica somma logica di prodotti logiciSi può scrivere la funzione L come somma logica di prodotti logici A B C L L A B C A B C A B C A B C Scrittura della funzione logica

43 Anno accademico Si può manipolare lespressione di L usando la proprietà distributiva dellAND rispetto allOR L = A B C A B C A B C A B C L = A (B C B C) A (B C B C) Come collegare gli interruttori

44 Anno accademico Esercizio 1Esercizio 1 Siano a 2, a 1, b 2, b 1 i bit che rappresentano due numeri interi positivi (A a 2 a 1 e B b 2 b 1 ). Sia r una variabile booleana che vale 1 se e solo A è maggiore uguale a B (A B). Ad esempio, quando A 11 e B 10, allora a 2 1, a 1 1, b 2 1, b 1 0 e r 1. Si scriva la forma canonica che definisce r come funzione di a 2, a 1, b 2, b 1. Esercizio 2Esercizio 2 I signori A, B, C e D fanno parte di un consiglio di amministrazione. Sapendo che hanno a disposizione le seguenti quote di possesso azionario A 40%, B 25%, C 20%, D 15%, 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. Esercizi

45 Anno accademico 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 a 2, a 5, a 6, a 8 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 linsieme di giocatori che si decide di comprare non supera la cifra disponibile. Ad esempio, se a 2 1, a 5 1, a 6 0, a 8 0, allora r 1. Si scriva la forma canonica che definisce r come funzione delle variabili a 2, a 5, a 6, a 8. Esercizi (continua)

46 Anno accademico Sistemi di numerazione

47 Anno accademico I primi esempi di utilizzo di sistemi di numerazione risalgono al neolitico, ovvero a circa 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… 1

48 Anno accademico 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à, luniversalità, lequilibrio 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… 2

49 Anno accademico Tra le prime testimonianze certe dellutilizzo 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 dellantica Mesopotamia, esistevano tabelle per le addizioni e le sottrazioni già durante il regno di Sargon I, intorno al 2350 a.C. E di storia… 1

50 Anno accademico Il documento più significativo dellantico 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 loriginale ad Imhotep, medico e architetto del faraone Djoser della III dinastia, e quindi al 2650 a.C. circa Imhotep è ritenuto larchitetto della grande piramide a gradoni di Saqqara, la cui enorme base quadrata ha lati perfetti al centimetro! E di storia… 2

51 Anno accademico 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 SumeriAppartengono alla civiltà dei Sumeri varie tavolette che contengono i più antichi segni numerali usati dalluomo e risalgono al 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 1

52 Anno accademico I simboli fondamentali usati nella numerazione sumera corrispondono ai numeri 1, 10, 60, 600, 3600, I valori dei sassolini sono crescenti secondo una scala che procede per 10 e per 6 alternativamente I numeri in Mesopotamia

53 Anno accademico sistema additivoIl sistema di rappresentazione dei valori attraverso i calculi è un sistema additivo addizioneCome in ogni sistema di rappresentazione additivo, loperazione di addizione risulta particolarmente semplice Per addizionare due o più valori basterà infatti mettere insieme i simboli uguali di ciascuno degli addendi: laddizione è compiuta nel gesto stesso dellunione dei sassolini Linsieme dei sassolini indicherà complessivamente il valore risultato delladdizione I numeri in Mesopotamia 3

54 Anno accademico 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 4

55 Anno accademico I numeri in Mesopotamia 5 Tavoletta pittografica con un conto di 33 misure dolio (Godin Tepe, Iran, 3100 a.C.)

56 Anno accademico Un ruolo speciale nellaritmetica sumera spetta dunque ai numeri 10 e 60: caratteristica ereditata poi dal sistema babilonese BabilonesiVari secoli dopo, attorno al XIX secolo a.C., a partire dallantica numerazione sumera, gli scienziati Babilonesi crearono infatti un sistema di scrittura basato sui soli due simboli: cuneo verticale 1 parentesi uncinata 10 I numeri in Mesopotamia 6

57 Anno accademico Si rappresentavano i numeri da 1 a 59 Per i numeri successivi, si ha la prima testimonianza delluso 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 7

58 Anno accademico I numeri in Mesopotamia 8

59 Anno accademico I numeri in Mesopotamia 9 Tavoletta di argilla ( a.C.) contenente un elenco di terne pitagoriche (misure dei lati di un triangolo rettangolo)

60 Anno accademico Ad esempio: Il sistema di spaziatura consentiva di risolvere le ambiguità di interpretazione dei raggruppamenti Ai tempi di Alessandro Magno era però invalso anche luso 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 10

61 Anno accademico EgiziLa civiltà degli Egizi 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 allinizio del III millennio a.C. geroglifico pittograficaSi tratta di iscrizioni che impiegano il sistema geroglifico, la scrittura pittografica egizia I numeri nellantico Egitto 1

62 Anno accademico Nel sistema geroglifico vengono riservati ai numeri sette simboli diversi per rappresentare le potenze del 10, da 1 a 10 6 I geroglifici utilizzati erano: Rotolo di fune Uomo a braccia levate, simbolo del dio Heh Bastoncino Girino o rana Dito Pastoia per bestiame o giogo Ninfea o fiore di loto I numeri nellantico Egitto 2

63 Anno accademico 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 Lordine dei simboli che definiscono le potenze del 10 può venire alterato senza cambiare il valore del numero rappresentato Lordine è una sorta di convenzione linguistica, senza significato matematico I numeri nellantico Egitto 3

64 Anno accademico I numeri nellantico Egitto 4

65 Anno accademico 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 nellantico Egitto 5

66 Anno accademico Esempio:Esempio: I numeri nellantico Egitto 6

67 Anno accademico Nella civiltà greca classica sono noti due principali sistemi di numerazione attico Il primo, più antico, è noto come attico ed è per molti aspetti simile a quello in uso presso i Romani; utilizzava infatti accanto ai simboli fondamentali per l1 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, ionico alfabetico Compaiono testimonianze di questo sistema dal V al I secolo a.C. ma, a partire dal III secolo, si diffonde anche il sistema detto ionico o alfabetico I numeri nellantica Grecia 1

68 Anno accademico 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 del numero che seguiva Sistema di numerazione decimale additivo Sistema di numerazione decimale additivo I numeri nellantica Grecia 2

69 Anno accademico Ad esempio: I numeri nellantica Grecia 3

70 Anno accademico 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 IVXLCDM I numeri nellantica Roma 1

71 Anno accademico La scrittura dei numeri avveniva combinando additivamente i segni AssiriPer agevolare scrittura e lettura si diffuse più tardi un sistema sottrattivo già utilizzato, ad esempio, dagli 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 laspetto di una linea orizzontale posta sopra le lettere serviva per indicarne la moltiplicazione per 1000 I numeri nellantica Roma 2

72 Anno accademico Per molte centinaia di anni ancora (con lunica 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 luso di tanti simboli posti gli uni accanto agli altri) La storia continua…

73 Anno accademico La civiltà indiana, più antica delle civiltà classiche, è già documentata dal 3000 a.C. Sebbene luso della matematica dovesse essere ben sviluppato già in epoca arcaica, i primi testi che ci sono giunti risalgono al V secolo d.C. ArabiNon è però ancora chiaro dove e quando si sia sviluppato il sistema di notazione decimale posizionale che, in seguito, attraverso gli Arabi, si è diffuso in Europa DallIndia… il sistema decimale 1

74 Anno accademico Tale sistema viene utilizzato nellopera 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 luso 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. DallIndia… il sistema decimale 2

75 Anno accademico Lidea 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 BrahmiGli Indiani avrebbero allora iniziato ad utilizzare solamente i primi 9 simboli del loro sistema decimale in caratteri Brahmi, in uso dal III secolo a.C. DallIndia… il sistema decimale 3

76 Anno accademico 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 DallIndia… il sistema decimale 4

77 Anno accademico posizionaliSistemi di numerazione posizionali: base La base del sistema di numerazione cifre Le cifre del sistema di numerazione posizione relativa Il numero è scritto specificando le cifre in ordine ed il suo valore dipende dalla posizione relativa delle cifre Esempio: Esempio: Il sistema decimale (Base 10) Cifre : = 5· · · ·10 0 Posizione: Sistemi di numerazione posizionali

78 Anno accademico La base definisce il numero di cifre diverse nel sistema di numerazione La cifra di minor valore è sempre lo 0; le altre sono, nellordine, 1,2,…,B 1; se B>10 occorre introdurre B 10 simboli in aggiunta alle cifre decimali N = c n B n +c n 1 B n c 2 B 2 +c 1 B 1 +c 0 B 0 frazionario Un numero frazionario N si rappresenta come (0,c 1 c 2 …c n ) B intero Un numero intero N si rappresenta con la scrittura (c n c n 1 …c 2 c 1 c 0 ) B N = c 1 B 1 +c 2 B c n B n c n cifra più significativac 0 meno significativa c n è la cifra più significativa, c 0 la meno significativa Sistemi in base B

79 Anno accademico Con n cifre in base B si rappresentano tutti i numeri interi positivi da 0 a B n 1 (B n numeri distinti) Esempio: Esempio: base 10 2 cifre: da 0 a = … Esempio: Esempio: base 2 2 cifre: da 0 a = = 100 valori 2 2 = 4 valori Numeri interi senza segno

80 Anno accademico La base 2 è la più piccola per un sistema di numerazioneLa base 2 è la più piccola per un sistema di numerazione Cifre: 0 1 bit (binary digit) Esempi: (101101) 2 = = = (45) 10 (0,0101) 2 = = 0 + 0, ,0625 = (0,3125) 10 (11,101) 2 = = , ,125 = (3,625) 10 Formapolinomia Il sistema binario (B 2)

81 Anno accademico byteUn byte è un insieme di 8 bit (un numero binario ad 8 cifre) Con un byte si rappresentano i numeri interi fra 0 e È lelemento 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)… b7b6b5b4b3b2b1b0b7b6b5b4b3b2b1b …………… = 256 valori distinti Dal bit al byte

82 Anno accademico Potenze del 2 Cosa sono KB (Kilobyte), MB (Megabyte), GB (Gigabyte)? 2 4 = = = = 1024 (K=Kilo) 2 20 = (M=Mega) 2 30 = (G=Giga) 1 KB = 2 10 byte = 1024 byte 1 MB = 2 20 byte = byte 1 GB = 2 30 byte = byte 1 TB = 2 40 byte = byte (Terabyte) 1 PB = 2 50 byte = byte (Petabyte) Dal byte al kilobyte

83 Anno accademico interoSi divide ripetutamente il numero intero decimale per 2 fino ad ottenere un quoziente nullo; le cifre del numero binario sono i resti delle divisioni; la cifra più significativa è lultimo resto Esempio: Esempio: convertire in binario (43) : 2 = : 2 = : 2 = : 2 = : 2 = : 2 = resti bit più significativo (43) 10 = (101011) 2 Da decimale a binario Numeri interi

84 Anno accademico frazionarioSi moltiplica ripetutamente il numero frazionario 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,9 0,90 2 = 1,8 0,80 2 = 1,6 0,60 2 = 1,2 0,20 2 = 0,4 etc. (0,45) 10 (0,01110) 2 0, = 0,4375 0, = 0,875 0,875 2 = 1,75 0,75 2 = 1,5 0,5 2 = 1,0 Da decimale a binario Numeri razionali

85 Anno accademico forma polinomiaOltre allespansione esplicita in potenze del 2 forma 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ù significativo (101011) 2 = = (43) 10 1 x 2 = x 2 = x 2 = x 2 = x 2 = = 43 (101011) 2 = (43) 10 Da binario a decimale

86 Anno accademico Si verifichino le seguenti corrispondenze: (110010) 2 (50) 10 ( ) 2 (102) 10 (1111) 2 (17) 10 (11011) 2 (27) 10 (100001) 2 (39) 10 Esercizi

87 Anno accademico La base 16 è molto usata in campo informaticoLa base 16 è molto usata in campo informatico Cifre: A B C D E F Esempio: (3A2F) 16 = = = (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 esadecimale

88 Anno accademico esadecimaleUna cifra esadecimale 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 A B C D E F F corrisponde a 4 bit a 1 0 corrisponde a 4 bit a 0 Da binario a esadecimale

89 Anno accademico Un numero binario di 4 n bit corrisponde a un numero esadecimale di n cifre Esempio: Esempio: 32 bit corrispondono a 8 cifre esadecimali D 9 1 B F (D91B437F) 16 Esempio: Esempio: 16 bit corrispondono a 4 cifre esadecimali F F (00FF) 16 Dal bit allhex

90 Anno accademico La conversione da esadecimale a binario si ottiene espandendo ciascuna cifra con i 4 bit corrispondenti Esempio : 0x Esempio : convertire in binario il numero esadecimale 0x0c8f Notazione usata in molti linguaggi di programmazione (es. C e Java) per rappresentare numeri esadecimali 0 c 8 f Il numero binario ha 4 4=16 bit Da esadecimale a binario

91 Anno accademico posizionaleIn qualsiasi base, lessere il sistema di numerazione posizionale impone che combinazioni diverse di cifre uguali rappresentino numeri diversi; ad esempio: (319) 10 (193) 10 (152) 6 (512) 6, infatti... (152) 6 = = =(68) 10 (512) 6 = = =(188) 10 Numeri che hanno identica rappresentazione, in basi diverse, hanno valori diversi: (234) 10 (234) 8, infatti... (234) 8 = = = = (156) 10 Osservazione: Osservazione: più piccola è la base, minore è il valore del numero rappresentato dalla stessa sequenza di cifre Esempi 1

92 Anno accademico Effettivamente possiamo verificare che (100100) 2 =(36) 10, infatti = = = 36 6 con 6 cifre necessarie per la codifica del numero in base 2 Esempi 2 La notazione posizionale si applica anche per il calcolo del valore dei numeri frazionari, infatti... (0,872) 10 = = 8/10 + 7/ /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 2 n 1, quindi... per n =1 (con una cifra) si rappresentano ,1 per n =2: per n =3: per n =4: per n =5: per n =6:

93 Anno accademico Esempi 3 (7 9)/2 = 1 (7+9)/2 = 8 È la soluzione! Non può essere una base Quesito:Quesito: Per quale base B risulterà vera luguaglianza = 102 ? Se i numeri sono rappresentati in base B, sappiamo che: (17) B = 1 B 1 +7 B 0 = B+7 (41) B = 4 B 1 +1 B 0 = 4B+1 (22) B = 2 B 1 +2 B 0 = 2B+2 (102) B = 1 B 2 +0 B 1 +2 B 0 = B 2 +2 da cui...B+7+4B+1+2B+2 = 7B+10 = B 2 +2 Si ottiene unequazione di 2° grado:B 2 7B 8 = 0 Risolvendo: = = 81 B = (7 )/2 =

94 Anno accademico La rappresentazione dei dati e laritmetica degli elaboratori

95 Anno accademico I numeri interi positivi sono rappresentati allinterno dellelaboratore utilizzando un multiplo del byte (generalmente 8 byte) Se lintero si rappresenta con un numero di cifre minore, vengono aggiunti zeri nelle cifre più significative Esempio: Esempio: 12 viene rappresentato in un byte come… Numeri interi positivi

96 Anno accademico Per rappresentare numeri con segno, occorre utilizzare un bit per definire il segno del numero Si possono usare tre tecniche di codifica Modulo e segno Modulo e segno Complemento a 2 Complemento a 2 Complemento a 1 Complemento a 1 Numeri con segno

97 Anno accademico 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 (2 n 1 1) e 2 n 1 1 Esempio: Esempio: con 4 bit si rappresentano i numeri fra 7 ( (2 3 1)) e 7 (2 3 1) positivi negativi Modulo e segno

98 Anno accademico Complemento 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 2 n (N) 2 = 10……0 (N) 2 { n zeri N N complemento a 1 1

99 Anno accademico numeri positiviI numeri positivi sono rappresentati (come) in modulo e segno numeri negativiI numeri 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 2 n 1 a 2 n 1 1 Esempio: Esempio: numeri a 4 cifre Interi in complemento a Nota: Nota:

100 Anno accademico Numeri interi rappresentati su 16 bit in complemento a 2: Il numero intero positivo più grande è =(32767) x 7 F F F Il numero intero negativo più piccolo è 2 15 =( 32768) x Il numero intero –1 è rappresentato come x F F F F Interi a 16 bit

101 Anno accademico Le regole per laddizione di due bit sono Lultima regola è… (1) 2 (1) 2 (10) 2 … (1 1 2) 10 !! = = = = 0 con riporto di 1 Esempio riporti Addizione binaria

102 Anno accademico 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, loperazione si propaga a sinistra fino alla prima cifra ad 1 del sottraendo 0 0 = = = = 1 con prestito di 1 dalla cifra precedente a sinistra Esempio Sottrazione binaria 1

103 Anno accademico Utilizzando la rappresentazione in complemento a 2, addizione e sottrazione sono trattate come ununica operazione Si calcola il complemento a 2 di N 2 Si somma N 1 con il complemento a 2 di N 2 Si trascura il bit più significativo del risultato Esempio: Esempio: (010001) 2 (000101) 2 = (17) 10 (5) (12) 10 N 1 N 2 = N 1 (2 n N 2 ) 2 n complemento a 2 di N 2 : rappresentazione di ( N 2 ) si trascura il bit n 1 { Sottrazione binaria 2

104 Anno accademico Sono utili perché loperazione di somma algebrica può essere realizzata non curandosi del bit di segno In complemento a 1 (più semplice da calcolare)… Zero ha due rappresentazioni: e La somma bit a bit funziona quasi sempre In complemento a 2… Zero ha una sola rappresentazione La somma bit a bit funziona sempre ( 6) = ( 5) ( 12) (6) = ( 10) ( 4) Rappresentazioni in complemento

105 Anno accademico overflowLoverflow si ha quando il risultato di unoperazione non è rappresentabile correttamente con n bit Per evitare loverflow 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] Overflow

106 Anno accademico Le regole per la moltiplicazione di due bit sono Moltiplicare per 2 n corrisponde ad aggiungere n zeri in coda al moltiplicando 0 0 = = = = 1 Esempio = = Moltiplicazione binaria

107 Anno accademico 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 B Q R La divisione binaria si compone di una serie di sottrazioni Dividere per 2 n equivale a scorrere il numero a destra di n posizioni; le cifre scartate costituiscono il resto ( ^ ^^ 54 = :16 = 3 con resto = 11 con resto 11 Divisione binaria

108 Anno accademico Quesito:Quesito: Data una base B, si consideri il numero x ( C 5 C 4 C 3 C 2 C 1 C 0 ) B, dove le singole cifre valgono: C 5 B 1, C 4 B 1, C 3 B 1, C 2 0, C 1 0, C 0 0 Qual è la rappresentazione in base B del risultato dellespressione ( x / B 3 ) 1? Dividere per B 3, 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 B 1 Sommando 1, a causa dei riporti, si ottiene quindi come risultato dellespressione 1000 B 3, qualsiasi sia il valore della base B Esempio

109 Anno accademico 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 C) B (A B) C (A C) B (A B) C, A 7B 5C 7 con A 7, B 5, C 7. Si ottiene lo stesso risultato dal calcolo dei due membri? Discutere le motivazioni della risposta. Esercizio 2Esercizio 2 (842) b (1202) 10 Si determini, se esiste, la base b di un sistema di numerazione tale che (842) b (1202) 10 (725) b (626) b (224) 10 Si determini, se esiste, la base b 16 di un sistema di numerazione tale che (725) b (626) b (224) 10 Esercizi

110 Anno accademico notazione scientificaLa rappresentazione dei numeri in virgola mobile è in relazione con la notazione scientifica (es ) La IEEE ha previsto uno standard per la rappresentazione in virgola mobile 110 singola precisione singola precisione (32 bit = 4 byte) doppia precisione doppia precisione (64 bit = 8 byte) quadrupla precisione quadrupla precisione (128 bit = 16 byte) Singola precisione bit8 bit Mantissa Caratteristica (o Caratteristica) Segno Il valore è ( 1) S 1.M 2 E 127 se E 0 ( 1) S 0.M se E=0 Esponente Numeri in virgola mobile Eccesso : Eccesso : vale 2 t 1 1, se t è il numero di cifre riservate alla caratteristica rappresentazione interna dellesponente sempre positiva

111 Anno accademico Il numero più grande rappresentabile è ( ) Il più piccolo numero positivo è In totale si rappresentano 2 32 numeri distinti, metà positivi, metà negativi Circa metà dei numeri sono compresi fra 1 e 1 (E 127<0) valori Singola precisione

112 Anno accademico Metodo per il calcolo delladdizioneMetodo per il calcolo delladdizione 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 laddizione 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 Laritmetica floating point: Addizione

113 Anno accademico 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 è = 10001; la caratteristica deve essere aumentata di 1 e portata a 111, e la mantissa del risultato traslata a destra di una posizione: errore di troncamento Codifica il numero 4 (dato che la caratteristica si rappresenta in eccesso a 4), ma il risultato corretto è 4.375: errore di troncamento N = ( 1) s 0.M 2 E 4 Un esempio di addizione

114 Anno accademico 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 leccesso alla somma delle caratteristiche, ottenendo la caratteristica del prodotto Laritmetica floating point: Moltiplicazione

115 Anno accademico 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 leccesso (100) sottratto alla caratteristica: M= E= errore di troncamento Codifica il numero , ma il risultato corretto è : errore di troncamento N = ( 1) s 0.M 2 E 4 Un esempio di moltiplicazione

116 Anno accademico Laritmetica interna degli elaboratori differisce notevolmente dallaritmetica classica Sebbene le stesse operazioni possano essere realizzate secondo modalità diverse su elaboratori diversi, si riscontrano alcune caratteristiche comuni: Rappresentazione binaria dei numeri Rappresentazione binaria dei numeri Rango finito dei numeri rappresentabili Rango finito dei numeri rappresentabili Precisione finita dei numeri Precisione finita dei numeri Operazioni espresse in termini di operazioni più semplici Operazioni espresse in termini di operazioni più semplici Laritmetica degli elaboratori 1

117 Anno accademico 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 underflow Se il risultato di unoperazione non appartiene al rango dei numeri rappresentabili, si dice che si è verificato un overflow (un underflow, più precisamente, se il risultato è più piccolo del più piccolo numero rappresentabile) Laritmetica degli elaboratori 2

118 Anno accademico Precisione finita dei numeriPrecisione finita dei numeri precisione La precisione della rappresentazione di un numero frazionario è una misura di quanto essa corrisponda al numero che deve essere rappresentato floating–point Negli elaboratori, i numeri frazionari sono rappresentati in virgola mobile (floating–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) Laritmetica degli elaboratori 3

119 Anno accademico Operazioni espresse in termini di operazioni più sempliciOperazioni espresse in termini di operazioni più semplici 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 unaddizione shift La moltiplicazione si realizza per mezzo di una successione di addizioni e di shift (traslazioni) La divisione si realizza per mezzo di una successione di shift e sottrazioni hardware firmware Le operazioni più semplici sono eseguite direttamente da appositi circuiti (in hardware); le operazioni più complesse sono realizzate mediante lesecuzione di successioni di operazioni più semplici, sotto il controllo di programmi appositamente realizzati, e generalmente memorizzati permanentemente (in firmware) Laritmetica degli elaboratori 4

120 Anno accademico Oltre ai numeri, molte applicazioni informatiche elaborano caratteri (simboli) Gli elaboratori elettronici trattano numeri Si codificano i caratteri e i simboli per mezzo di numeri Si codificano i caratteri e i simboli per mezzo di numeri Per poter scambiare dati (testi) in modo corretto, occorre definire uno standard di codifica A $ Codifica dei caratteri alfabetici 1

121 Anno accademico Ovvero… quando si scambiano dati, deve essere noto il tipo di codifica utilizzato La codifica deve prevedere le lettere dellalfabeto, le cifre numeriche, i simboli, la punteggiatura, i caratteri speciali per certe lingue (æ, ã, ë, è,…) codice ASCII American Standard Code for Information InterchangeLo standard di codifica più diffuso è il codice ASCII, per American Standard Code for Information Interchange Codifica dei caratteri alfabetici 2

122 Anno accademico bitDefinisce una tabella di corrispondenza fra ciascun carattere e un codice a 7 bit (128 caratteri) 1 byteI caratteri, in genere, sono rappresentati con 1 byte (8 bit); i caratteri con il bit più significativo a 1 (quelli con codice dal 128 al 255) rappresentano unestensione della codifica caratteri di controllo caratteri stampabiliLa tabella comprende sia caratteri di controllo (codici da 0 a 31) che caratteri stampabili I caratteri alfabetici/numerici hanno codici ordinati secondo lordine alfabetico/numerico A 65 B 66 ……. Y 89 Z 90 a 97 b 98 ……. y 121 z …… cifre maiuscole minuscole Codifica ASCII

123 Anno accademico I caratteri di controllo (codice da 0 a 31) hanno funzioni speciali Ctrl carattereSi ottengono o con tasti specifici o con una sequenza Ctrl carattere 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 ASCII

124 Anno accademico Dec Hx Chr Dec Hx Chr Dec Hx Chr SPACE P96 60 ` p ! A81 51 Q97 61 a q B82 52 R98 62 b r # C83 53 S99 63 c s $ D84 54 T d t % E85 55 U e u & F86 56 V f v G87 57 W g w ( H88 58 X h x ) I89 59 Y i y 42 2A *58 3A :74 4A J90 5A Z106 6A j122 7A z 43 2B +59 3B ;75 4B K91 5B [107 6B k123 7B { 44 2C,60 3C <76 4C L92 5C \108 6C l124 7C | 45 2D -61 3D =77 4D M93 5D ]109 6D m125 7D } 46 2E.62 3E >78 4E N94 5E ^110 6E n126 7E ~ 47 2F /63 3F ?79 4F O95 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 = = 5) Caratteri stampabili

125 Anno accademico I codici oltre il 127 non sono compresi nello standard originario Tabella ASCII estesa

126 Anno accademico digitalizzazioneLe immagini vengono anchesse codificate come una sequenza di bit: il processo di traduzione da unimmagine ad una sequenza binaria prende il nome di digitalizzazione pixel picture element Limmagine è suddivisa in punti o pixel (per picture 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 linformazione legata a ciascun pixel con un opportuno numero di bit La codifica delle immagini 1 126

127 Anno accademico Le immagini vengono memorizzate come lunghe sequenze di bit: per interpretarle è necessario conoscere... risoluzione...le dimensioni dellimmagine (base ed altezza in numero di pixel), detta anche risoluzione...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 dellinformazione La codifica delle immagini 2 127

128 Anno accademico 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 Tagged Image File Format TIFF Tagged Image File Format JPEG JPEG PNG Portable Network Graphics PNG Portable Network Graphics compressionePer ridurre lo spazio necessario per memorizzare le immagini si utilizzano tecniche di compressione (utili anche per la trasmissione su rete Internet) La codifica delle immagini 3 128

129 Anno accademico La codifica delle immagini 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 129


Scaricare ppt "Anno accademico 2010-2011 1 Fondamenti di Informatica Monica Bianchini Dipartimento di Ingegneria dell Informazione ENIAC (1946."

Presentazioni simili


Annunci Google