Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
COSA E' L'INFORMAZIONE
L'informatica fornisce informazioni in maniera automatica a partire dai dati. I dati sono insiemi di valori quantitativi o qualitativi relativi a un fatto (o un evento, un fenomeno). Sono rappresentati mediante simboli o combinazioni di simboli e non sono interpretati.
L'informazione è una relazione tra un insieme di dati, per interpretare e comunicare un fatto. Ad esempio, "Mario ha 20 anni" è un'informazione che mette in relazione i dati "Mario" e 20 e ne dà una interpretazione.
L'informazione può essere rappresentata in forma analogica o digitale:
Rappresentazione analogica: l'informazione viene rappresentata da grandezze continue (traccia su un disco in vinile, onda elettromagnetica, sonora).
Rappresentazione digitale: l'informazione viene rappresentata sfruttando combinazioni di simboli (cifre per i numeri).
La rappresentazione analogica ha lo svantaggio di essere più soggetta
al rumore. Questo limita la trasmissione dell'informazione. Quindi si preferisce una rappresentazione digitale con pochi simboli chiaramente distinguibili. In informatica si usano due soli simboli, per convenzione 0 e 1.
Le forme in cui si presenta l'informazione sono molto diverse tra loro. Ad esempio:
- un numero
- una frase
- un suono
- un'immagine
- un filmato
Per tutte queste forme possiamo trovare una codifica, cioè una rappresentazione tale che l'informazione possa essere elaborata.
Rappresentazione dei numeri
Il numero è un concetto astratto. Dato un numero ogni sua rappresentazione viene detta numerale (sassi, dita della mano, in antico romano, in decimale, in binario, in greco, ...).
Un numero è comunemente rappresentato da una sequenza di cifre decimali (cioè i simboli 0, 1, ..., 9) dove ogni cifra assume un valore a seconda della posizione in cui si trova nella stringa (notazione posizionale).
Un numero in base 10 di n cifre
è rappresentato come: x x x . . . x x· 10 + · 10 + · 10 + · 10 + ·n−1 n−1 n−2 n−2 n−3 n−3 1 1 0100 x <dove 0 <= 10.iIl valore della cifra dipende dalla posizione nella sequenza e dal valore della base b.
x < b0 <= ix x . . . x x b x b . . . x b= · + · + + ·n−1 n−2 n−1 n−1 n−2 n−2
0 0
IN QUALSIASI BASE AGGIUNGERE UNO ZERO SIGNIFICAMOLTIPLICARE PER LA BASE
Quando la base è 2 abbiamo a disposizione solamente i simboli 0 e 1
(1010) = 1 · 2 + 0 · 2 + 1 · 2 + 0 · 2 = 8 + 0 + 2 + 0 = 2 3 2 1 0
(10)10
In questo modo si possono convertire i numeri in base 2 in numeri in base 10
Dividendo un numero in base b per b il resto sarà la cifra meno significativa (quindi la prima cifra)
Per passare invece da numeri in base 10 a numeri in base 2 bisogna dividere il numero per due fino ad ottenere un quoziente pari a 0 si devono
prendere i resti dal basso verso l'alto( dall'ultimo al primo)
Rappresentazione in esadecimale
In informatica si usa una codifica particolare in base 16 detta esadecimale.
A , , , , , , , , , , , , , , ,= {0 1 2 3 4 5 6 7 8 9 A B C D E F}
b |A|= = 16x x . . . x x x . . . x= · 16 + · 16 + + · 16n−1 n−2 n−1 n−1 n−2 n−2
0 0 0
(per trasformarlo in base 10 si utilizza sempre lo stesso metodo)
L'esadecimale è utile per rappresentare lunghe sequenze di bit. A ogni 4 bit si può associare una cifra esadecimale
0000 corrisponde a 0
0001 corrisponde a 1
0010 corrisponde a 2
0011 corrisponde a 3
0100 corrisponde a 4
0101 corrisponde a 5
0110 corrisponde a 6
0111 corrisponde a 7
1000 corrisponde a 8
1001 corrisponde a 9
1010 corrisponde a A
1011 corrisponde a B
1100 corrisponde a C
1101 corrisponde a D
1110 corrisponde a E
1111 corrisponde a F
Per passare da decimale a esadecimale si divide per 16 e si prendono i resti dal basso
Verso l'alto
Per passare da esadecimale a decimale bisogna sempre moltiplicare per le potenze di 16
Per passare da esadecimale a binario è sufficiente sostituire ad ogni cifra esadecimale il gruppo di 4 bit corrispondenti.
Per passare da binario ad esadecimale bisogna raggruppare le cifre in gruppi di 4 partendo da destra.
Il sistema ottale
Per passare da ottale a decimale si utilizza lo stesso sistema del binario quindi moltiplicando per le potenze di 8.
Per passare da binario ad ottale è sufficiente raggruppare a tre a tre le cifre del numero binario da destra verso sinistra e sostituire ad ogni gruppo la cifra ottale corrispondente.
Per passare da ottale a binario è sufficiente sostituire ad ogni cifra ottale il gruppo di tre bit corrispondente.
Rappresentazione numeri relativi
A questo punto si presenta il problema della rappresentazione dei numeri relativi.
Si è pensato ad aggiungere un simbolo prima dei numeri: uno 0 che va ad indicare che il numero è positivo,
Un 1 per indicare che il numero è negativo. Però in questo modo ci sarebbe una doppia rappresentazione per lo 0: +0 e -0, e quindi si utilizzano anche altre rappresentazioni per i numeri relativi come il complemento a due. Le celle di memoria hanno un numero finito di bit, in generale con n bit possiamo ottenere 2^n configurazioni. Con n bit possiamo rappresentare i numeri naturali da 0 a 2^n-1. Molti linguaggi di programmazione, anche di alto livello, definiscono interi solo quei numeri rappresentabili con i bit di una parola. A ciascuna delle configurazioni possibili associano un intero diverso. Con un byte (8 bit), rappresentiamo gli interi nell'intervallo -128, 127, con 16 bit quelli tra -32768, 32767, con 32 bit quelli tra -2147483648, 2147483647 e in generale, con n bit, quelli nell'intervallo aperto [-2^(n-1), +2^(n-1)). Alcuni linguaggi più recenti, tra cui il Python, rappresentano gli interi con un numero di cifre qualsiasi.
utilizzando più celle di memoria fino ad esaurimento della stessa. Rappresentazione numeri frazionari Un numero frazionario rappresenta una frazione dell'unità ed è un reale tra 0 e 1. Si presenta nella forma di uno zero seguito da un punto e da una sequenza di cifre: x.x.x.x... Il valore della cifra dipende dalla posizione nella stringa. Data la base b: x < b^0 <= i0.x x . . . x x b x b . . . x b= ∑ + ∑ + ∑ + ... + ∑ -n -n -n-1 -2 -1 -1 -2 -2 (Per trasformarli in base 10 si utilizza sempre lo stesso metodo) Moltiplicando un numero frazionario per la sua base b, la parte intera del risultato sarà la prima cifra dopo la virgola. Ripetendo l'operazione con la parte frazionaria otterremo la seconda cifra dopo la virgola e così via, possiamo ottenerle tutte. Per convertire in base 2 un numero frazionario in base 10 bisogna moltiplicare per due la parte decimale e...prendere la parte intera (normalmente si raggiunge un periodo) e infine leggere le parti intere dall'alto verso il basso. Es. 3.143 = 110.14 * 2 = 0.28 parte intera = 00.28 * 2 = 0.56 parte intera = 00.56 * 2 = 1.12 parte intera = 1……… Quindi 3.14 in base due sarà 11.001….
Rappresentazione dei numeri reali
I numeri reali rappresentabili in un calcolatore sono in realtà razionali, poiché non è possibile rappresentare un numero infinito di cifre. Quindi un numero reale può essere visto come formato da una parte intera e una frazionaria.
Quando destiniamo un numero fisso di bit alla parte intera e uno alla parte frazionaria parliamo di rappresentazione in virgola fissa (fixed point).
Per approssimare meglio i numeri reali si usa un'altra notazione detta avirgola mobile (floating point).
La rappresentazione floating point usa la notazione esponenziale per i reali. Un numero reale positivo r può essere rappresentato come: r = m ·
dove m è detto mantissa ed è un numero frazionario tra 0 e 1, e b è una base il cui esponente n è detto caratteristica.Esempio: 687.5 = 0.6875 · 103
Questa rappresentazione prevede 32 bit per rappresentare un reale in base 2, in singola precisione:
- 1 bit di segno
- 8 bit di caratteristica
- 23 bit di mantissa
Per la doppia precisione:
- 1 bit di segno
- 11 bit di caratteristica
- 52 bit di mantissa
Rappresentazione dei caratteri
La codifica più diffusa prevede l'uso di soli 7 bit per i caratteri. È la codifica ASCII.
Il codice ASCII è insufficiente per rappresentare tutti i caratteri utilizzati nelle varie lingue. Recentemente si è diffuso l'Unicode, che può codificare oltre un milione di caratteri. Un carattere è indicato con U+ seguito da 4, 5 o 6 cifre esadecimali.
Rappresentazione dei suoni
I segnali analogici possono essere visti come funzioni continue nel tempo. È continuo sia
L'intervallo di tempo in cui prendiamo in considerazione il segnale è l'insieme dei valori che può assumere. Di conseguenza, per identificare l'elemento costitutivo di base si ricorre a due operazioni:
- campionamento: consideriamo solo i valori che il segnale assume in determinati istanti di tempo
- quantizzazione: approssimiamo l'insieme continuo dei valori con un insieme discreto (cioè, definire quanti valori diversi il segnale può assumere per definire il numero di bit necessario a identificare un campione)
Rappresentazione delle immagini
Esistono due tipi differenti di immagini che differiscono nella natura dell'elemento costitutivo di base:
- Immagini vettoriali: descritte matematicamente come composizione di elementi di base come punti e linee
- Immagini raster: descritte come griglie di picture elements (pixel)
Le immagini vettoriali sono utilizzate nella progettazione meccanica, architettonica, elettronica e dai.
I sistemi di grafica professionale presentano alcuni limiti:
- Forte dipendenza dal programma applicativo usato per la creazione
- Inadeguatezza alla rappresentazione di immagini molto complesse dal punto di vista delle sfumature cromatiche
- Inadeguatezza alla rappresentazione di immagini fotografiche