Fondamenti di informatica - Laurea triennale Informatica/Rappresentazione delle informazioni mediante pattern di bit
Aspetto
Codifica del testo (caratteri)
[modifica | modifica sorgente]- Il testo viene rappresentato assegnando a ogni simbolo (lettere, cifre, punteggiatura, caratteri di controllo) un pattern di bit univoco.
- In passato esistevano molti codici incompatibili; per ridurre i problemi di comunicazione, ANSI adottò ASCII, che usa 7 bit per simbolo (spesso esteso a 8 bit per adattarsi ai byte e offrire altri 128 simboli).
- Le estensioni ISO di ASCII hanno migliorato il supporto per varie lingue europee, ma restavano limiti: pochi simboli disponibili per molte lingue (es. asiatiche) e difficoltà a mescolare più gruppi linguistici nello stesso documento.
- Per superare questi ostacoli è nato Unicode (fino a 21 bit per simbolo) e, con UTF-8, mantiene la compatibilità con ASCII (caratteri “storici” in 8 bit) ma può rappresentare moltissimi altri caratteri con 16/24/32 bit a seconda del simbolo.
- Distingue tra file di testo “puro” (solo caratteri) e file di word processor (che includono anche formattazione: font, allineamenti, ecc.).
Codifica dei numeri
[modifica | modifica sorgente]- Salvare numeri come testo è inefficiente: ad esempio “25” in ASCII richiede due byte (16 bit) e con 16 bit “testuali” si arriva al massimo a “99”.
- Con la notazione binaria, gli stessi 16 bit possono rappresentare qualunque intero da 0 a 65535.
- Per questo i computer memorizzano i numeri in forme di binario “ottimizzate”: ad esempio complemento a due per includere numeri negativi e floating point per numeri con parte frazionaria.
- Cambiare base (binario, decimale, esadecimale) cambia solo la rappresentazione, non il valore matematico sottostante.
- Questa parte sarà approfondita nei capitoli successivi
Codifica delle immagini
[modifica | modifica sorgente]- Un’immagine può essere vista come una griglia di pixel; codificando ogni pixel si ottiene una bitmap.
- Per immagini bianco/nero basta 1 bit per pixel; per sfumature di grigio spesso 8 bit; per colori si usano tipicamente:
- RGB: tre componenti (rosso, verde, blu), spesso 1 byte ciascuna → 3 byte per pixel.
- Oppure modelli con luminanza (brightness) + due componenti di crominanza, nati anche per compatibilità con TV in bianco e nero (la luminanza da sola dà una versione in scala di grigi).
- Limite delle bitmap: scalano male (ingrandendo si vedono “quadrettoni”, come lo “zoom digitale”).
- Alternativa: descrivere l’immagine con strutture geometriche (vettoriale: linee, curve), che scalano bene. Esempi: TrueType per i font, PostScript, e sistemi CAD.
- Alcuni programmi di disegno lavorano “in vettoriale” durante la creazione ma poi salvano solo la bitmap; se invece preservano le forme geometriche, le modifiche e il ridimensionamento restano semplici e nitidi.
Codifica dei suoni
[modifica | modifica sorgente]- Metodo generale: campionare l’ampiezza dell’onda sonora a intervalli regolari e registrare i valori.
- Per la telefonia storicamente si usano circa 8000 campioni al secondo; per qualità CD si usa 44.100 campioni al secondo, con 16 bit per campione (e più dati per lo stereo), quindi l’audio “grezzo” occupa moltissimo spazio.
- Alternativa: MIDI, che non registra l’onda sonora ma istruzioni (strumento, nota, durata). È molto più compatto: è come salvare lo spartito invece della performance; il risultato può variare a seconda del sintetizzatore usato.