Nessun titolo diapositiva - PowerPoint PPT Presentation

1 / 129
About This Presentation
Title:

Nessun titolo diapositiva

Description:

Title: Nessun titolo diapositiva Last modified by: monica Document presentation format: Presentazione su schermo Other titles: Times New Roman Wingdings Arial Tahoma ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 130
Provided by: diiUnisi9
Category:

less

Transcript and Presenter's Notes

Title: Nessun titolo diapositiva


1
Fondamenti di Informatica
Monica Bianchini Dipartimento di Ingegneria
dellInformazione
ENIAC (1946 ca.)
E-mail monica_at_dii.unisi.it
2
Sommario
  • Introduzione
  • il calcolo automatico dalla preistoria ai giorni
    nostri
  • Lalgebra di Boole
  • da Analisi Matematica della Logica (1847) al
    progetto degli elaboratori digitali
  • Sistemi di numerazione
  • da additivi a posizionali, da decimale a
    binario, a esadecimale lalfabeto
    dellelaboratore
  • La rappresentazione dei dati e laritmetica degli
    elaboratori
  • dai bit ai numeri, ai testi, alle immagini, alla
    musica, ai video in digitale

UNIVAC (1951)
3
Introduzione
4
Cenni storici ? 1
Wilhelm Schickard (1592-1635)
  • 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 30.000 anni fa
  • I primi esempi di algoritmi ? procedure di
    calcolo automatico ? sono stati scoperti in
    Mesopotamia su tavolette babilonesi risalenti al
    1800?1600 a.C.

Macchina moltiplicatrice (1624)
  • 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

5
Cenni storici ? 2
Gottfried Leibnitz (1646-1716)
Blaise Pascal (1623-1662)
  • 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)

6
Cenni storici ? 3
Charles Babbage (1791-1871)
  • La macchina 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 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

Macchina alle differenze modello ricostruito
presso il Museo della Scienza di Londra seguendo
il progetto del 1849
7
Cenni storici ? 4
Herman Hollerith (1860-1929)
  • Fu 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

Census Tabulator (1890)
8
Cenni storici ? 5
Konrad Zuse (1910-1995)
  • 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 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)

Il calcolatore Z1 (1939)
9
Cenni storici ? 6
Alan Turing (1912-1954)
  • Durante la seconda guerra mondiale, fioriscono i
    progetti di elaboratori da utilizzarsi per scopi
    bellici
  • Enigma, realizzata dai tedeschi (A. Scherbius)
    per codificare le comunicazioni militari
  • Red Purple, di costruzione giapponese
  • 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

La macchina Enigma
10
Cenni storici ? 7
  • Con 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)

11
Cenni storici ? 8
John Von Neumann (1903-1957)
  • La 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)
  • Il nome di Von Neumann è legato invece ai primi
    calcolatori a programma memorizzato realizzati
    alla fine degli anni 40 (EDSAC, Whirlwind, IAS,
    UNIVAC)
  • 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

12
Cenni storici ? 9
UNIVAC (1952)
Whirlwind (1949)
IAS (1952)
13
Cenni storici ? 10
  • Tuttavia, 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
  • Attualmente 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
  • ...

14
Cenni storici ? 11
  • 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
  • Solo 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
  • A 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)

15
Cenni storici ? 12
Cray 1 (1976)
Cray XE6 (2010)
Portatile e Palmare (oggi)
16
Frasi celebri ed altro
  • 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
    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 dellIBM,
    commentando il microchip, 1965).
  • Nel 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)

17
Che cosè linformatica ? 1
  • Informatica ? 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 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

18
Che cosè linformatica ? 2
  • Linformatica non è la scienza dei calcolatori
    elettronici il calcolatore è lo strumento che la
    rende operativa
  • Lelaboratore (computer, calcolatore) è
    unapparecchiatura digitale, elettronica ed
    automatica capace di effettuare trasformazioni
    sui dati
  • Digitale i dati sono rappresentati mediante un
    alfabeto finito, costituito da cifre, digit, che
    ne permette il trattamento mediante regole
    matematiche
  • Elettronica realizzazione tramite tecnologie di
    tipo elettronico
  • 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)

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

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

21
Ancora sullinformatica
  • Linformatica è lo studio sistematico degli
    algoritmi che descrivono e trasformano
    linformazione la loro teoria, analisi,
    progetto, efficienza, realizzazione (ACM,
    Association for Computing Machinery)
  • Nota
  • È 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

22
Lalgebra di Boole
23
Lalgebra di Boole ? 1
George Boole (1810-1864)
  • Contempla 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
  • Sui valori booleani si definiscono le
    operazioniAND, OR, NOT

24
Lalgebra di Boole ? 2
  • 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
  • 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

25
Loperazione di OR
  • Si definisce loperazione di somma logica
    (OR)il valore della somma logica è il simbolo 1
    se il valore di almeno uno degli operandi è il
    simbolo 1

0?0 ? 00?1 ? 11?0 ? 11?1 ? 1
26
Loperazione di AND
  • Si definisce loperazione di prodotto logico
    (AND)il valore del prodotto logico è il simbolo
    1 se il valore di tutti gli operandi è il simbolo
    1

0?0 ? 00?1 ? 01?0 ? 01?1 ? 1
27
La negazione NOT
  • Si definisce loperatore di negazione
    (NOT)loperatore inverte il valore della
    costante su cui opera
  • Dalla definizione

28
Variabili binarie
  • Una variabile binaria indipendente può assumere
    uno dei due valori 0 e 1
  • Date n variabili binarie indipendenti, la loro
    somma logica (OR) è

0
x
1
1 se almeno una xi vale 1
x1 x2 xn
0 se x1 x2 xn 0
29
AND e NOT con variabili binarie
  • Date n variabili binarie indipendenti, il loro
    prodotto logico (AND) è
  • La negazione di una variabile x è
  • Lelemento x ? NOT(x) viene detto complemento di
    x il complemento è unico

x 0 se x 1x 1 se x 0
30
Alcune identità
  • Si verificano le seguenti identità
  • 0 è lelemento neutro per loperazione di OR 1 è
    lelemento neutro per lAND
  • Gli elementi neutri sono unici
  • Ad esempio

x 1 ? 1x 0 ? x x x ? x
x ? 1 ? xx ? 0 ? 0 x ? x ? x
Legge dellidempotenza
31
Altre proprietà
  • Per gli operatori AND e OR valgono le seguenti
    proprietà
  • Per loperatore NOT si provano le seguenti
    identità

commutativa x1x2 ? x2x1
x1? x2 ? x2? x1 associativa
x1x2x3 ? x1(x2x3) x1? x2? x3 ? x1?(x2?
x3) distributiva del prodotto rispetto alla somma
x1? x2 x1? x3 ? x1?(x2x3)
x x ? 1x ? x ? 0 x ? x
32
Configurazione delle variabili
  • 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 n3 si hanno 8 configurazioni
x1x2x3
010
33
Funzioni logiche
  • 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à, in cui si elencano tutte le
    possibili combinazioni di x1, x2, , xn, con
    associato il valore di y

y F(x1,x2,,xn)
34
Una tabella di verità
  • 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 0 0 0 00 0 1 00 1 0 00 1
1 1 1 0 0 0 1 0 1 1 1 1 0 11 1 1 0
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

35
Un esempio lo XOR ? 1
  • La funzione XOR verifica la disuguaglianza di due
    variabili
  • Lespressione come somma di prodotti è quindi...

x1 x2 XOR0 0 00 1 11 0 11
1 0
XOR x1x2 x1x2
36
Un esempio lo XOR ? 2
Porta logica per XOR
37
Esempi
  • Legge dellassorbimento x1? x1?x2 ? x1
  • Leggi di De Morgan
  • (x1?x2) ? x1?x2
  • (x1?x2) ? x1?x2
  • 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

38
Un esempio di circuito logico
y1 F(B,C,D) (B?C)D
39
Un circuito con due interruttori
  • 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
L
A
A
B
B
0
0
0
0
1
1
1
1
A
A
B
B
A0 B1
A0 B0
L
L
A
B
A
B
0
0
0
0
1
1
1
1
A
A
B
B
L ? A?B?A?B
A1 B0
A1 B1
40
Un esercizio
  • Progettare un circuito per accendere e spegnere
    una lampada da uno qualsiasi di tre interruttori
    indipendenti

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

42
Scrittura della funzione logica
  • Dalle otto combinazioni si ottiene la tabella di
    verità della funzione logica
  • Si può scrivere la funzione L come somma logica
    di prodotti logici

L ? A?B?C ? A?B?C ? A?B?C ? A?B?C
43
Come collegare gli interruttori
  • 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)
44
Esercizi
  • Esercizio 1
  • Siano a2, a1, b2, b1 i bit che rappresentano due
    numeri interi positivi (A?a2a1 e B?b2b1). 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 a2?1, a1?1, b2?1, b1?0 e r?1.
    Si scriva la forma canonica che definisce r come
    funzione di a2, a1, b2, b1.
  • Esercizio 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.

45
Esercizi (continua)
  • Esercizio 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 linsieme di giocatori che si decide di
    comprare non supera la cifra disponibile. Ad
    esempio, se a2?1, a5?1, a6?0, a8?0, allora r?1.
    Si scriva la forma canonica che definisce r come
    funzione delle variabili a2, a5, a6, a8.

46
Sistemi di numerazione
47
Ancora un po di preistoria ? 1
  • 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

48
Ancora un po di preistoria ? 2
  • 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

49
E di storia ? 1
  • 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.

50
E di storia ? 2
  • 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!

51
I numeri in Mesopotamia ? 1
  • 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 Sumeri varie
    tavolette che contengono i più antichi segni
    numerali usati dalluomo e risalgono al 3500?3000
    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

52
I numeri in Mesopotamia ? 2
  • 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

36000
1
10
60
600
3600
53
I numeri in Mesopotamia ? 3
  • Il sistema di rappresentazione dei valori
    attraverso i calculi è un sistema additivo
  • Come 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

54
I numeri in Mesopotamia ? 4
  • 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

?
?
?
?
55
I numeri in Mesopotamia ? 5
Tavoletta pittografica con un conto di 33 misure
dolio (Godin Tepe, Iran, 3100 a.C.)
56
I numeri in Mesopotamia ? 6
  • Un ruolo speciale nellaritmetica 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 dallantica numerazione sumera, gli
    scienziati Babilonesi crearono infatti un sistema
    di scrittura basato sui soli due simboli
  • cuneo verticale ? 1
  • parentesi uncinata ? 10

57
I numeri in Mesopotamia ? 7
  • 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

58
I numeri in Mesopotamia ? 8
59
I numeri in Mesopotamia ? 9
Tavoletta di argilla (1900?1600 a.C.) contenente
un elenco di terne pitagoriche (misure dei lati
di un triangolo rettangolo)
60
I numeri in Mesopotamia ? 10
  • 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
61
I numeri nellantico Egitto ? 1
  • La 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.
  • Si tratta di iscrizioni che impiegano il sistema
    geroglifico, la scrittura pittografica egizia

62
I numeri nellantico Egitto ? 2
  • Nel sistema geroglifico vengono riservati ai
    numeri sette simboli diversi per rappresentare le
    potenze del 10, da 1 a 106
  • I geroglifici utilizzati erano

Pastoia per bestiame o giogo
Rotolo di fune
Bastoncino
Ninfea o fiore di loto
Uomo a braccia levate, simbolo del dio Heh
Dito
Girino o rana
63
I numeri nellantico Egitto ? 3
  • 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

64
I numeri nellantico Egitto ? 4
?131.200
65
I numeri nellantico Egitto ? 5
  • Esempi di operazioni
  • 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 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

66
I numeri nellantico Egitto ? 6
  • Esempio 7?13





13
67
I numeri nellantica Grecia ? 1
  • Nella civiltà greca classica sono noti due
    principali sistemi di numerazione
  • 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, 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 ionico o
    alfabetico

68
I numeri nellantica Grecia ? 2
  • 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 additivo

69
I numeri nellantica Grecia ? 3
  • Ad esempio

? 67.766.776
70
I numeri nellantica Roma ? 1
  • 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 M
1 5 10 50 100 500 1000
71
I numeri nellantica Roma ? 2
  • 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 (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

72
La storia continua
  • 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
  • Poco adatti a rappresentare numeri grandi (che
    presuppongono luso di tanti simboli posti gli
    uni accanto agli altri)

73
DallIndia il sistema decimale ? 1
  • 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.
  • Non è 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

74
DallIndia il sistema decimale ? 2
  • 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.

75
DallIndia il sistema decimale ? 3
  • 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
  • Gli 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.

76
DallIndia il sistema decimale ? 4
  • 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

77
Sistemi di numerazione posizionali
  • Sistemi di numerazione posizionali

La base del sistema di numerazione Le cifre del
sistema di numerazione
Il numero è scritto specificando le cifre in
ordine ed il suo valore dipende dalla posizione
relativa delle cifre
Esempio Il sistema decimale (Base 10)
Cifre 0 1 2 3 4 5 6 7 8 9
5641 5103 6102 4101 1100
Posizione 3 2 1 0
78
Sistemi in base B
  • 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 Bgt10 occorre
    introdurre B?10 simboli in aggiunta alle cifre
    decimali

Un numero intero N si rappresenta con la
scrittura (cncn?1c2c1c0)B
N cnBncn?1Bn?1...c2B2c1B1c0B0
cn è la cifra più significativa, c0 la meno
significativa
Un numero frazionario N si rappresenta come
(0,c1c2cn)B
N c1B?1c2B?2...cnB?n
79
Numeri interi senza segno
  • Con n cifre in base B si rappresentano tutti i
    numeri interi positivi da 0 a Bn?1 (Bn numeri
    distinti)

Esempio base 10
2 cifre da 0 a 102?1 99
102 100 valori
Esempio base 2
22 4 valori
2 cifre da 0 a 22?1 3
80
Il sistema binario (B?2)
  • La base 2 è la più piccola per un sistema di
    numerazione

Cifre 0 1 ? bit (binary digit)
Forma polinomia
Esempi
(101101)2 1?25 0?24 1?23 1?22 0?21
1?20 32 0 8
4 0 1 (45)10
(0,0101)2 0?2?1 1?2?2 0?2?3 1?2?4
0 0,25 0
0,0625 (0,3125)10
(11,101)2 1?21 1?20 1?2?1 0?2?2 1?2?3
2 1 0,5 0
0,125 (3,625)10
81
Dal bit al byte
  • Un byte è un insieme di 8 bit (un numero binario
    ad 8 cifre)
  • Con un byte si rappresentano i numeri interi fra
    0 e 28?1 ? 255
  • È 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)

b7b6b5b4b3b2b1b0
00000000 00000001 00000010 00000011 . 1111111
0 11111111
28 256 valori distinti
82
Dal byte al kilobyte
  • Potenze del 2
  • Cosa sono KB (Kilobyte), MB (Megabyte), GB
    (Gigabyte)?

24 1628 256 216 65536 210
1024 (KKilo) 220 1048576
(MMega) 230 1073741824 (GGiga)
1 KB 210 byte 1024 byte1 MB 220 byte
1048576 byte 1 GB 230 byte 1073741824 byte 1
TB 240 byte 1099511627776 byte (Terabyte) 1
PB 250 byte 1125899906842624 byte (Petabyte)
83
Da decimale a binario Numeri interi
  • Si 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 convertire in binario (43)10
resti
43 2 21 121 2 10 1 10 2 5 0
5 2 2 1 2 2 1 0 1 2 0
1
bit più significativo
(43)10 (101011)2
84
Da decimale a binario Numeri razionali
  • Si 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 convertire in binario (0,21875)10 e
(0,45)10
85
Da binario a decimale
  • Oltre 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

(101011)2 1?25 0?24 1?23 0?22 1?21
1?20 (43)10
Esempio convertire in decimale (101011)2
bit più significativo
86
Esercizi
  • 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

87
Sistema esadecimale
  • La base 16 è molto usata in campo informatico

Cifre 0 1 2 3 4 5 6 7 8 9 A B C D E F
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
Esempio
(3A2F)16 3?163 10?162 2?161 15?160
3?4096 10?256 2?16
15 (14895)10
88
Da binario a esadecimale
  • Una 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

0000 0 1000 8 0001 1 1001
9 0010 2 1010 A 0011 3 1011
B 0100 4 1100 C 0101 5 1101
D 0110 6 1110 E 0111 7 1111
F
0 corrisponde a 4 bit a 0
F corrisponde a 4 bit a 1
89
Dal bit allhex
  • Un numero binario di 4n bit corrisponde a un
    numero esadecimale di n cifre

Esempio 32 bit corrispondono a 8 cifre
esadecimali
1101 1001 0001 1011 0100 0011 0111 1111
D 9 1 B 4 3
7 F
(D91B437F)16
Esempio 16 bit corrispondono a 4 cifre
esadecimali
0000 0000 1111 1111 0 0 F
F
(00FF)16
90
Da esadecimale a binario
  • La conversione da esadecimale a binario si
    ottiene espandendo ciascuna cifra con i 4 bit
    corrispondenti

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 0000 1100
1000 1111
Il numero binario ha 4 ? 416 bit
91
Esempi ? 1
  • In 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)61?625?612?6036302(68)10
  • (512)65?621?612?6018062(188)10
  • Numeri che hanno identica rappresentazione, in
    basi diverse, hanno valori diversi
  • (234)10 ? (234)8 , infatti...
  • (234)8 2?82 3?81 4?80 2?64 3?8 4
    128244 (156)10
  • Osservazione più piccola è la base, minore è il
    valore del numero rappresentato dalla stessa
    sequenza di cifre

92
Esempi ? 2
  • La notazione posizionale si applica anche per il
    calcolo del valore dei numeri frazionari,
    infatti...
  • (0,872)10 8?10?1 7?10?2 2?10?3
  • 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 2n?1,
    quindi...
  • per n1 (con una cifra) si rappresentano 0...21?1
    ? 0,1
  • per n2 0...22?1 ? 0...3
  • per n3 0...23?1 ? 0...7
  • per n4 0...24?1 ? 0...15
  • per n5 0...25?1 ? 0...31
  • per n6 0...26?1 ? 0...63

Effettivamente possiamo verificare che
(100100)2(36)10, infatti... 1001001?250?240?23
1?220?210?20 32 4
36 con 6 cifre necessarie per la codifica del
numero in base 2
93
Esempi ? 3
  • Quesito Per quale base B risulterà vera
    luguaglianza
  • 17 41 22 102 ?
  • Se i numeri sono rappresentati in base B,
    sappiamo che
  • (17)B 1?B17?B0 B7
  • (41)B 4?B11?B0 4B1
  • (22)B 2?B12?B0 2B2
  • (102)B 1?B20?B12?B0 B22
  • da cui... B74B12B2 7B10 B22
  • ? Si ottiene unequazione di 2 grado B2 ? 7B ?
    8 0
  • Risolvendo ? 4932 81
  • B (7 ? ?? )/2

94
La rappresentazione dei dati e laritmetica degli
elaboratori
95
Numeri interi positivi
  • 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 12 viene rappresentato in un byte come
00001100
96
Numeri con segno
  • 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
  • Complemento a 2
  • Complemento a 1

97
Modulo e segno
  • Il bit più significativo rappresenta il segno 0
    per i numeri positivi, 1 per quelli negativi
  • Esiste uno zero positivo (000) e uno zero
    negativo (100)
  • Se si utilizzano n bit si rappresentano tutti i
    numeri compresi fra ?(2n?1?1) e ?2n?1?1

Esempio con 4 bit si rappresentano i numeri fra
?7 (?(23?1)) e ?7 (23?1)
98
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

100000000 011111111? 01010111 10101000
10101001
28 28?1N 28?1?N 28?1?N?1
99
Interi in complemento a 2
  • I numeri positivi sono rappresentati (come) in
    modulo e segno
  • I 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
    ?2n?1 a ?2n?1?1

Esempio numeri a 4 cifre
100
Interi a 16 bit
  • Numeri interi rappresentati su 16 bit in
    complemento a 2

Il numero intero positivo più grande è
215?1(32767)10
0111 1111 1111 1111 0x 7 F F
F
Il numero intero negativo più piccolo è
?215(?32768)10
Il numero intero 1 è rappresentato come
1111 1111 1111 1111 0x F F F F
0000 0000 0000 0000
1 0000 0000 0000 0001
101
Addizione binaria
  • Le regole per laddizione di due bit sono
  • Lultima regola è (1)2?(1)2 ? (10)2 (1?1?2)10
    !!

0 0 0 0 1 1 1 0 1 1 1 0 con
riporto di 1
Esempio
102
Sottrazione binaria ? 1
  • 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 0 1 ? 0 1 1 ? 1 0 10 ? 1 1
con prestito di 1 dalla cifra precedente a
sinistra
Esempio
103
Sottrazione binaria ? 2
  • Utilizzando la rappresentazione in complemento a
    2, addizione e sottrazione sono trattate come
    ununica 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 (010001)2?(000101)2 (17)10?(5)10
010001 ? 1110111001100
(12)10
104
Rappresentazioni in complemento
  • 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 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

105
Overflow
  • Loverflow 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 5 bit ? ?16,?15
106
Moltiplicazione binaria
  • Le regole per la moltiplicazione di due bit sono
  • Moltiplicare per 2n corrisponde ad aggiungere n
    zeri in coda al moltiplicando

0 ? 0 0 0 ? 1 0 1 ? 0 0 1 ? 1 1
Esempio
107
Divisione binaria
  • 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 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 1 1 0 1
1 0 1 0 1 1 1 1 0 1 1 0 0
54 5?10 4
108
Esempio
  • Quesito Data una base B, si consideri il numero
    x?(C5C4C3C2C1C0)B, dove le singole cifre valgono
  • C5 ? B?1, C4 ? B?1, C3 ? B?1, C2 ? 0, C1 ? 0, C0
    ? 0
  • Qual è la rappresentazione in base B del
    risultato dellespressione (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 B?1
  • Sommando 1, a causa dei riporti, si ottiene
    quindi come risultato dellespressione 1000?B3,
    qualsiasi sia il valore della base B

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

110
Numeri in virgola mobile
  • La rappresentazione dei numeri in virgola mobile
    è in relazione con la notazione scientifica (es.
    1.2?102?120)
  • La IEEE ha previsto uno standard per la
    rappresentazione in virgola mobile

Eccesso vale 2t?1?1, se t è il numero di cifre
riservate alla caratteristica ? rappresentazione
interna dellesponente sempre positiva
111
Singola precisione
  • Il numero più grande rappresentabile è
    2128?(2?2?23)?2129?6.81?1038
  • Il più piccolo numero positivo è
    2?126?2?23?2?149?1.4?10?45
  • In totale si rappresentano 232 numeri distinti,
    metà positivi, metà negativi
  • Circa metà dei numeri sono compresi fra ?1 e 1
    (E?127lt0)

0 11111111 11111111111111111111111 2255?127
1.111111111111111111111111
0 00000000 00000000000000000000001 2?126
0.00000000000000000000001
223 valori
223 valori
223 valori
223 valori
0
1
2
4
0.5
0.25
112
Laritmetica floating?point Addizione
  • Metodo per il calcolo delladdizione
  • 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
  • La mantissa del risultato è ottenuta dalla somma
    delle due mantisse
  • 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
113
Un esempio di addizione
  • Supponiamo che per la rappresentazione
    floatingpoint 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
114
Laritmetica floating?point Moltiplicazione
  • Metodo per il calcolo della moltiplicazione
  • Si moltiplicano le due mantisse
  • Si addizionano le due caratteristiche
  • 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
  • Si tronca la mantissa al numero di bit utilizzati
    nella rappresentazione la mantissa del prodotto
    è il risultato del troncamento
  • Si sottrae leccesso alla somma delle
    caratteristiche, ottenendo la caratteristica del
    prodotto

115
Un esempio di moltiplicazione
  • Supponiamo che per la rappresentazione
    floatingpoint 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

M01110101 E111
116
Laritmetica degli elaboratori ? 1
  • 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
  • Rango finito dei numeri rappresentabili
  • Precisione finita dei numeri
  • Operazioni espresse in termini di operazioni più
    semplici

117
Laritmetica degli elaboratori ? 2
  • Rango 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 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)

118
Laritmetica degli elaboratori ? 3
  • Precisione finita dei numeri
  • La precisione 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 (floatingpoint),
    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)

119
Laritmetica degli elaboratori ? 4
  • Operazioni 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
  • 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
  • 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)

120
Codifica dei caratteri alfabetici ? 1
  • 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
  • Per poter scambiare dati (testi) in modo
    corretto, occorre definire uno standard di
    codifica

121
Codifica dei caratteri alfabetici ? 2
  • 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 (æ, ã, ë, è,)
  • Lo standard di codifica più diffuso è il codice
    ASCII, per American Standard Code for Information
    Interchange

122
Codifica ASCII
  • Definisce una tabella di corrispondenza fra
    ciascun carattere e un codice a 7 bit (128
    caratteri)
  • I 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
  • La 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

123
Caratteri di controllo ASCII
  • I caratteri di controllo (codice da 0 a 31) hanno
    funzioni speciali
  • Si ottengono o con tasti specifici o con una
    sequenza Ctrl?carattere

124
Caratteri stampabili
125
Tabella ASCII estesa
  • I codici oltre il 127 non sono compresi nello
    standard originario

126
La codifica delle immagini ? 1
  • Le immagini vengono anchesse codificate come una
    sequenza di bit il processo di traduzione da
    unimmagine ad una sequenza binari
Write a Comment
User Comments (0)
About PowerShow.com