Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Argomento 1: Codifica, Slide di Fondamenti di informatica

Introduzione ai concetti di base dell’Informatica e dell’uso degli elaboratori, la rappresentazione digitale delle informazioni (ad es. numeri, testi, immagini, suoni).

Tipologia: Slide

2021/2022

Caricato il 31/10/2023

sara-de-fazio-1
sara-de-fazio-1 🇮🇹

9 documenti

1 / 13

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
RAPPRESENTAZIONI DELLE INFORMAZIONI
- I computer non elaborano solamente numeri, infatti possono elaborare anche testi, immagini, suoni,
filmati…
- È sufficiente che l’informazione sia rappresentabile in modo digitale.
Tipi di segnali
SEGNALI ANALOGICI (Es: variatore di luminosità):
- insieme continuo di valori, trasmettono molte informazioni
- sensibili alle interferenze
SEGNALI DIGITALI (Es: interruttore on/off):
- insieme discreto di valori, ad esempio due stati
- semplici da distinguere
-
Vantaggi
:
semplice
non ambiguo (non sensibile alle interferenze)
riproducibile senza errori
Il bit
- Segnale binario: segnale discreto su due valori
-bit: binary digit (cifra binaria)
- Elemento di base per rappresentare le informazioni
Perché il sistema binario?
- è semplice
- può rappresentare (quasi) ogni informazione
Come viene realizzato un bit
- presenza/ assenza di carica elettrica
- direzione di magnetizzazione
- presenza/ assenza di corrente/tensione
- passaggio/non passaggio di luce
Rappresentazione delle informazioni
Un bit può assumere due valori (0 e 1), quindi con un bit possiamo rappresentare due informazioni.
Es: sì/no, on/off, su/giù, vero/falso. Associamo il valore di un bit con un’informazione. Ad es, 0=no 1=sì, oppure
0=giù 1=su, oppure 0=off 1=on, oppure 0=falso 1=vero
La corrispondenza informazione ←→ valore del bit è una convenzione!
Ad es., per rappresentare le risposte vero/falso a un questionario di 10 domande, possiamo usare 10 bit
0, 1, 1, 0, 1, 1, 1, 0, 0, 0
corrisponde a
F, V, V, F, V, V, V, F, F, F
Come fare per rappresentare più di due informazioni usando i bit?
Combiniamo più bit per rappresentare ogni informazione, 2 bit è 4 informazioni:
00, 01, 10, 11
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Anteprima parziale del testo

Scarica Argomento 1: Codifica e più Slide in PDF di Fondamenti di informatica solo su Docsity!

RAPPRESENTAZIONI DELLE INFORMAZIONI

  • I computer non elaborano solamente numeri, infatti possono elaborare anche testi, immagini, suoni, filmati…
  • È sufficiente che l’informazione sia rappresentabile in modo digitale.

Tipi di segnali SEGNALI ANALOGICI (Es: variatore di luminosità):

  • insieme continuo di valori, trasmettono molte informazioni
  • sensibili alle interferenze

SEGNALI DIGITALI (Es: interruttore on/off):

  • insieme discreto di valori, ad esempio due stati
  • semplici da distinguere
  • Vantaggi : ● semplice ● non ambiguo (non sensibile alle interferenze) ● riproducibile senza errori

Il bit

  • Segnale binario: segnale discreto su due valori
  • bit : binary digit (cifra binaria)
  • Elemento di base per rappresentare le informazioni

Perché il sistema binario?

  • è semplice
  • può rappresentare (quasi) ogni informazione

Come viene realizzato un bit

  • presenza/ assenza di carica elettrica
  • direzione di magnetizzazione
  • presenza/ assenza di corrente/tensione
  • passaggio/non passaggio di luce

Rappresentazione delle informazioni Un bit può assumere due valori (0 e 1), quindi con un bit possiamo rappresentare due informazioni.

Es: sì/no, on/off, su/giù, vero/falso. Associamo il valore di un bit con un’informazione. Ad es, 0=no 1=sì, oppure 0=giù 1=su, oppure 0=off 1=on, oppure 0=falso 1=vero

La corrispondenza informazione ←→ valore del bit è una convenzione!

Ad es., per rappresentare le risposte vero/falso a un questionario di 10 domande, possiamo usare 10 bit 0, 1, 1, 0, 1, 1, 1, 0, 0, 0 corrisponde a F, V, V, F, V, V, V, F, F, F

Come fare per rappresentare più di due informazioni usando i bit? Combiniamo più bit per rappresentare ogni informazione, 2 bit è 4 informazioni: 00, 01, 10, 11

Es.: Un esame con 4 possibili esiti: insufficiente (00), sufficiente (01), buono (10), ottimo (11)

Quante informazioni possiamo rappresentare con un determinato numero di bit? Con 1 bit: Con 2 bit: Con 3 bit: 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Con 1 bit si rappresentano 2 informazioni (2¹) Con 2 bit si rappresentano 4 informazioni (2¹ * 2 = 2²) Con N bit si rappresentano 2N informazioni Con 3 bit si rappresentano 8 informazioni (2² * 2 = 2³)

PROBLEMA INVERSO : se abbiamo K informazioni, di quanti bit abbiamo bisogno per rappresentarle? Dobbiamo utilizzare un numero di bit sufficiente per esprimerle tutte, per cui dobbiamo scegliere N in modo che 2N ≥ K

  • Se 2N = K, ogni combinazione di bit ha un’informazione corrispondente
  • Se 2N > K, alcune combinazioni di bit non corrispondono a informazioni; “spreco” inevitabile!

Per rappresentare 61 informazioni diverse si devono usare N bit tali che 2N ≥ 61 5 bit non sono sufficienti, infatti 2⁵ = 32 < 61. Occorrono almeno 6 bit, infatti 2⁶ = 64 ≥ 61 Un insieme di 6 bit può assumere 64 configurazioni diverse: 000000 / 000001 / 000010 /… 111100 / 111101 / 111110 / 11111. Alcune sequenze (ad es. la 62a, la 63a e la 64a) non vengono utilizzate.

RIASSUMENDO :

  • 1 bit può assumere 2 valori e può rappresentare 2 informazioni
  • N bit possono assumere 2N valori, che permettono di rappresentare 2N informazioni Quindi: Per rappresentare K informazioni, si devono usare N bit, in modo che 2N ≥ K

Il byte È stato attribuito un significato particolare ai gruppi di 8 bit. 8 bit formano unbyte (8 bit 28 = 256 informazioni diverse).

  • Il byte viene utilizzato - insieme al bit - come unità di misura per esprimere la capacità della memoria, la potenza di un calcolatore, la velocità di trasmissione di una linea

NOME ABBREVIAZIONE VALORE POTENZA

bit b 1 2 ⁰

Kilobit (kibibit) Kb (Kib) 1024 b 2 ¹⁰

degli Stati Uniti

100 KB Fotografia a bassa risoluzione 400 TB Il database del centro dati climatico statunitense (NOAA) 1 MB Romanzo breve 8 PB Tutto il World Wide Web

3 MB Fotografia ad alta risoluzione 2 EB Le informazioni generate ogni anno in tutto il mondo 5 MB Opera omnia di Shakespeare o 30 secondi di video a qualità TV

5 EB Le parole mai pronunciate dagli esseri umani (riportate per scritto)

10 MB 1 minuto di audio ad alta fedeltà

8 EB Traffico mensile in Internet

650 MB CD 500 EB Informazioni digitali al mondo

1,4 GB Film in divx 420000 EB Le parole mai pronunciate dagli esseri umani (registrazione audio)

Abbiamo discusso di rappresentazione binaria di informazioni “generali”. Ora vedremo come rappresentare tramite bit:

  • Numeri: ● Interi positivi ● Interi negativi
  • Testi
  • Immagini: ● in bianco e nero ● a toni di grigio ● a colori
  • Filmati
  • Suoni

Rappresentazione dei numeri Iniziamo con la distinzione tra numerale e numero.

  • NUMERO : concetto che rappresenta una quantità
  • NUMERALE : simbolo che rappresenta una quantità

I numerali differiscono dai numeri come le parole differiscono dai concetti che rappresentano. Es: 6, sei, VI, six sono numerali che rappresentano tutti lo stesso numero.

Il sistema di numerazione decimale

  • DECIMALE : “alfabeto” di 10 cifre di base ⇒ 0, 1, 2, …, 9
  • numerale 245: ● 2 centinaia, 4 decine, 5 unità cioè ● 2 volte 10², 4 volte 10¹, 5 volte 10⁰ |
  • La potenza di 10 da considerare dipende dalla posizione della cifra.
  • NOTAZIONE POSIZIONALE : la posizione di una cifra in un numerale indica il suo peso in potenze di
    I pesi sono: ● unità = 10⁰ = 1 (posizione 0) ● decine = 10¹ = 10 (posizione 1) ● centinaia = 10² = 100(posizione 2) ● migliaia = 10³ = 1000 (posizione 3)

Il numerale 3704 in notazione decimale (o in base 10) rappresenta la quantità: 3704 (numerale) = 310³ + 710² + 010¹ + 410⁰ = 3000 + 700 + 0 + 4 = 3704 (numero)

N.B .: Siamo abituati a usare il sistema a base 10 per rappresentare i numeri. Pertanto è comune “confondere” numero e numerale. Se vogliamo evitare ambiguità, usiamo la notazione 370410.

Il sistema di numerazione binario

  • BINARIO : “alfabeto” di 2 cifre di base ⇒ 0, 1
  • Il numero di cifre coincide con il numero di bit.
  • numerale 101₂: 1 volta 2², 0 volte 2¹, 1 volta 2⁰
  • La potenza di 2 da considerare dipende dalla posizione della cifra.
  • NOTAZIONE POSIZIONALE : la posizione di una cifra in un numerale indica il suo peso in potenze di
    I pesi sono: ● 2 ⁰ = 1 (posizione 0) ● 2 ¹ = 2 (posizione 1) ● 2 ² = 4 (posizione 2) ● 2 ³ = 8 (posizione 3)

Rappresentazione binaria

Il numerale 100100112 in notazione binaria (o in base 2) rappresenta la quantità: 100100112 (numerale) = 12⁷ + 02⁶ + 02⁵ + 12⁴ + 02³ + 02² + 12¹ + 12⁰ = 128 + 0 + 0 + 16 + 0 + 0 + 2 + 1 = 147 (numero) Per evitare ambiguità si usa la notazione 10010011₂.

Massimo numero rappresentabile MASSIMO NUMERO RAPPRESENTABILE : il numero più grande esprimibile con un dato numero di cifre (decimali, binarie, …). NON coincide con il numero di informazioni rappresentabili!

Per esempio, con 2 cifre decimali rappresento 100 numeri, ma il numero più grande (massimo numero rappresentabile) è 99₁₀ (Si inizia a contare da 0).

Esempio: 110102 = 12⁴ + 12 ³ + 02 ² + 12 ¹ + 0*2⁰ = = 16 + 8 + 2 = 2610 = 26 Somma di potenze di 2!

OSSERVAZIONE: un numero binario che termina con 0 è pari, altrimenti (con 1) è dispari. Perché? Perché gli altri addendi sono sicuramente pari!

Conversione da base 10 a base 2

  • Idea : effettuiamo il processo inverso (“fill in the blanks”). Di ogni bit (cifra binaria) bisogna determinare se è a 0 o a 1. In altre parole, come “comporre” il numero come somma esclusivamente di potenze di 2? Come 6 = 4 + 2 cioè sono settati a 1 i bit in - posizione 2 (perché 4=22) - posizione 1 (perché 2=21) Quindi 610 = 1102

Altro esempio: 25710 Quali potenze di due usare? Suggerimento: iniziare sempre dalle potenze più grandi: 257 = 256 + 1 cioè 257 = 2⁸ + 2⁰. Quindi sono a 1 i bit in posizione 8 e 0: 25710 = 1000000012

Rappresentazione dei caratteri Per rappresentare i caratteri, occorre stabilire una convenzione per la corrispondenza tra configurazione di bit e carattere: codice ASCII (/'æski/) (American Standard Code for Information Interchange).

N.B .: Uno standard è necessario per permettere lo scambio di informazioni testuali.

Codice ASCII Usa i 7 bit meno significativi di un byte (27 = 128 diversi caratteri rappresentabili)

  • Rappresenta – oltre ad altri caratteri – le lettere dell’alfabeto anglosassone maiuscole e minuscole, le cifre, i segni di punteggiatura.
  • Nel codice ASCII le lettere maiuscole hanno associato un codice più piccolo delle lettere minuscole. Di conseguenza, se chiediamo a un computer di ordinare alfabeticamente (lessicograficamente) le parole “abete” e “Zacinto”, le metterà in questo ordine: ● 1. Zacinto ● 2. abete
  • PROBLEMA : insufficiente per rappresentare i comuni segni diacritici (per es. lettere accentate)
  • SOLUZIONE : codice ASCII esteso usa 8 bit è al massimo 2(256) caratteri

Prima parte (codici da 0 a 126) identica a ASCII

Esempio di codifica ASCII Codifica della parola ‘casa’: c a s a 01100011 01100001 01110011 01100001

Esempio di decodifica ASCII A partire da una sequenza di bit in codice ASCII, 011010010110110000100000010100000110111100101110, si vuole conoscere la rappresentazione in caratteri.

  1. Si divide la sequenza in gruppi di 8 bit (ogni gruppo è un byte): 01101001 01101100 00100000 01010000 01101111 00101110 i l P o.

Codifica ASCII dei numeri N.B .: le cifre da 0 a 9 rappresentate in ASCII sono caratteri (simboli) e non quantità numeriche, quindi:

  • NON possono essere utilizzate per rappresentare quantità da utilizzare in calcoli aritmetici.
  • Non è così strano: tutti i giorni usiamo i numeri telefonici, che sono sequenze di simboli, con essi non facciamo calcoli aritmetici.
  • Di conseguenza, se chiediamo al computer di ordinare alfabeticamente (lessicograficamente) le stringhe (sequenze di caratteri) “3” e “20431”, le metterà in questo ordine: 1. 20431 2. 3

Rappresentazione dei caratteri

  • PROBLEMA : ● 256 caratteri dell’ASCII esteso sono insufficienti per alcuni sistemi di scrittura (per es. quello cinese o giapponese)

L’immagine da codificare | L'immagine suddivisa da una griglia formata da linee a distanza costante | Ogni quadrato derivante da tale suddivisione viene chiamato pixel (picture element) e può essere codificato in binario con la convenzione che:

  • 0 rappresenta un pixel bianco (ovvero in cui il bianco è predominante)
  • 1 rappresenta un pixel nero (ovvero in cui il nero è predominan te)

PROBLEMA : per avere una sequenza di bit, in quale ordine leggere i pixel? Occorre una convenzione: qui assumiamo da sx a dx, e dal basso verso l’alto. La rappresentazione della figura è quindi: 0000000 0111100 0110000 0100000 Non sempre il contorno della figura coincide con le linee della griglia: digitalizzando un’immagine si ha sempre un’approssimazione dell’immagine stessa.

**- PROBLEMA: Come avere un’immagine più fedele?

  • IDEA:** Aumentiamo la risoluzione, cioè il numero dei pixel (e rimpiccioliamo i quadratini della griglia di campionamento).

La rappresentazione di un’immagine mediante la codifica dei pixel viene chiamata codifica bitmap.

  • Con un solo bit per pixel si possono codificare solo due colori (tipicamente bianco e nero).
  • Per codificare più informazioni, dobbiamo usare più bit.
  • Con un solo bit per pixel si possono codificare solo due colori (tipicamente bianco e nero) Ad es., tonalità di grigio: per ogni quadratino si stabilisce il livello medio di grigio si codifica ogni livello di grigio:(se uso 4 bit 16 livelli di grigio, se uso 8 bit 256 livelli di grigio, … se uso k bit 2k tinte diverse)
  • PROBLEMA : come associare una rappresentazione binaria a ogni possibile colore di un pixel?
  • SOLUZIONE : Modello più usato: Truecolor (o RGB)

Truecolor Tre colori primari:

  • rosso
  • verde (Red, Green, Blue: RGB)
  • blu

N.B .: sono diversi dai colori primari usati per gli inchiostri. Gli altri colori vengono ottenuti sommando i tre colori primari (Monitor e televisori funzionano così).

Quanti colori sono rappresentabili?

256 valori possibili per ogni colore primario (da 0 a 255).

  • 256 livelli (è 8 bit) per ogni canale (colore primario)
  • 3 byte per ogni pixel = 3*8 bit per ogni pixel → 2 ²⁴ colori = 16.777.216 colori

Occupazione delle immagini a colori Es: immagine 150 x 200 pixel truecolor Occorrono 3 byte (24 bit) per pixel, quindi occupa 150 * 200 * 3 byte = 90˙000 byte

Esistono tecniche di compressione delle immagini che consentono di ridurre la dimensione dello spazio occupato.

  • Per esempio, una tecnica consiste nel codificare aree dello stesso colore in modo “abbreviato ”.
  • È un esempio di tecnica lossless , senza perdita di informazione, cioè, quando decomprimiamo l’immagine, questa è identica all'originale.
  • Formati compressi lossless: gif, tiff, png
  • Le tecniche di compressione lossy , invece, causano perdita di informazione, cioè, il processo di compressione “scarta” alcuni dati
  • Ad es. quando si decomprime l’immagine, questa è diversa dall’originale: è degradata in qualità.
  • A quale scopo? La compressione lossy permette di risparmiare molto più spazio della lossless.
  • Formati compressi lossy: jpeg, png

Codifica delle immagini in movimento Codifica di sequenze di immagini (dette fotogrammi o frame ).

  • Visto lo spazio elevato richiesto, occorrono tecniche di memorizzazione efficienti: per esempio, sono memorizzate solo le differenze tra un fotogramma e l’altro
  • Esistono vari formati, soprattutto lossy: mpeg, divx, avi (microsoft), quicktime(apple) (memorizzano anche i suoni).

Codifica dei suoni Il suono è uno dei mezzi principali di comunicazione. Anche i suoni possono essere codificati in digitale.

  • Ogni campione viene approssimato al livello più vicino, al valore indicato con il cerchio.
  • Ogni campione sarà quindi espresso dal numero binario corrispondente al livello più prossimo.
  • Il segnale rappresentato con la sequenza 0001 0011 0100 0010 0010 0011 0010 0000 1101 1101 1101 0001 0010 0010 sarà quindi ricostruito con il seguente segnale:

La sequenza dei valori numerici ottenuta dai campioni è quindi digitalizzata. Si ha una discretizzazione in tempo e una sul valore.

  • CD musicali: 44100 campionamenti al secondo, 16 bit per campione.
  • Diversi formati: mov, wav, mpeg (mp3), avi, midi. | | ● Formato midi codifica le note e gli strumenti che devono eseguirle: solo musica, non voce. ● Formato mp3: lossy, molto diffuso e molto efficiente.

Rappresentazione delle informazioni La sequenza di bit 01101001 rappresenta un numero, un testo, un’immagine o un suono? Impossibile dirlo! Una sequenza di bit non ha significato di per sé.

Un metadato (ad es. il formato del file) deve indicare cosa si sta rappresentando:

  • numero : 01101001 = 105
  • carattere ASCII : 01101001 = i
  • immagine in b/n 4x2 pixel : 01101001 = …