rappresentazione posizionale in base 2
(cioè: con 2 cifre) dei numeri naturali
significatività della posizione: sequenza delle potenze intere della base,
a partire da 0, crescente verso sinistra
introducendo la "virgola binaria",
e le potenze ad esponente intero negativo
della base per la significatività alla sua destra, si ottiene una
rappresentazione binaria dei numeri razionali
(non negativi)
rappresentazioni in una base che sia una potenza intera di 2 rendono più
compatta la rappresentazione binaria, per la semplicità della conversione di base in tal caso, ad es.:
rappresentazione ottale (b= 8 = 23):
ogni cifra (0,...,7) rappresenta una sequenza di 3 bit
rappresentazione esadecimale (b= 16 = 24):
ogni cifra (0,...,9,A,B,...,F) rappresenta una sequenza di 4 bit
gli algoritmi per le operazioni aritmetiche nella rappresentazione
posizionale decimale si generalizzano facilmente alla rappresentazione
posizionale in una qualsiasi base b > 1
esempi:
ecco l'addizione di due numeri nella rappresentazione binaria naturale
(in parentesi è indicato il riporto):
somma binaria naturale di 9 e 13
la moltiplicazione binaria può risultare un po' scomoda, per
la numerosità dei prodotti parziali da sommare
(conviene scegliere il moltiplicatore col minor numero di 1):
come effettuare la conversione di base quando una delle due basi
non è una potenza intera dell'altra?
occorre distinguere due casi:
dalla base minore a quella maggiore:
si applica la definizione di
rappresentazione posizionale, eseguendo prodotti e somme nella rappresentazione in base maggiore
esempio :
110102=
(0⋅20+1⋅21+0⋅22+1⋅23+1⋅24)10=
(2+8+16)10=
2610
dalla base maggiore a quella minore:
si itera la divisione,
del numero dato e dei quozienti via via ottenuti,
per la base minore,
nella rappresentazione in base maggiore, fino ad ottenere il quoziente zero
la sequenza dei resti ottenuti,
rappresentati nella base minore, dà il risultato della conversione,
con significatività crescente delle cifre
nell'ordine in cui sono state ottenute
esempio :
determiniamo la rappresentazione binaria naturale di
4310
siano qi, ri
rispettivamente i quozienti e i resti delle progressive divisioni per 2:
problema 1: la rappresentazione dei numeri razionali è finita, ma non limitata
questo vale anche per i numeri interi...
problema 2: i numeri reali non hanno rappresentazione finita
precisamente, ciò vale per i numeri irrazionali
è desiderabile, per la celerità di esecuzione delle operazioni aritmetiche
in tali campi, disporre di una rappresentazione binaria di lunghezza fissa
soluzione: rappresentazioni approssimate
in virgola fissa:
sia la parte intera che quella frazionaria hanno lunghezze fisse
precisione assoluta prefissata
in virgola mobile (ingl.:
floating point)
: lunghezze fisse di mantissa intera ed esponente intero di una
base b prefissata
(di solito b= 10):
R = M ⋅ bE
precisione relativa prefissata
spesso si rappresenta la mantissa in complemento a 2,
e l'esponente in eccesso 2n
una semplice rappresentazione binaria di un testo consiste nella sequenza
delle rappresentazioni binarie dei suoi caratteri, secondo un dato
codice di rappresentazione
quest'ultimo è una funzione iniettiva che associa ad ogni carattere
dell'alfabeto A del testo una sequenza di n bit, con
|A| ≤
2n
alfabeto: caratteri stampabili +
caratteri di controllo
codice ASCII (American Standard Code for Information Interchange):
a 7 bit, + ottavo bit per varianti locali
la diffusione dell'informatica ha fatto emergere l'esigenza di
codici più ricchi, per rappresentare testi in tutte le lingue
(segni diacritici, alfabeti diversi da quello inglese,
linguaggi di scrittura ideografica, etc.)
famiglia di codici ISO 8859-x :
a 8 bit, estensioni del codice ASCII
codice ISO/IEC 10646
(UCS: Universal Character Set ):
"universale",
base per i codici (a 16 bit) Unicode, UTF-8
sono allo studio estensioni di Unicode (attualmente: a 20 bit)
per la codifica digitale dell'informazione audio si effettua il
campionamento dell'ampiezza dell'onda sonora
ad intervalli regolari
la qualità della riproduzione dipende dalla frequenza di campionamento
8 kHz (ovvero un campione ogni
ottavo di millesimo di secondo) è una frequenza adeguata alla
riproduzione del parlato
per la riproduzione musicale di alta fedeltà la frequenza sale a
44.1 kHz
il valore di ampiezza di ciascun campione è codificato con
16 bit (32 bit se stereo)
ben più parsimoniosa è la codifica MIDI
(Musical Instruments Digital Interface )
che rappresenta non il suono bensì l'informazione per la sua produzione
da un sintetizzatore, ad es.:
strumento emulato, altezza della nota, durata
l'immagine è discretizzata in una matrice di pixel
(picture's element
)
la matrice è sequenzializzata dal basso verso l'alto e da sinistra a destra
ciascun pixel è rappresentato da
1 bit per immagini in bianco e nero
una sequenza di bit per immagini a colori o con più livelli di grigio
la codifica del colore si basa
sulla composizione cromatica di tre colori fondamentali, ad es.
RGB (Rosso, Verde, Blu), dunque richiede
3n bit per pixel,
dove n è
il numero di bit per la codifica del livello di ciascun colore fondamentale
la risoluzione indica la precisione della
discretizzazione dell'immagine, ma è espressa da grandezze diverse in
contesti diversi, ad es.:
dimensioni della matrice, in n. di pixel (ad es. 640X800)
densità dei pixel, ad es. pixel/mm, in ciascuna direzione
tecniche vettoriali:
molto più efficienti delle rappresentazioni
bitmap, specialmente per alcune classi di immagini (diagrammi, glifi
tipografici, etc.)
vantaggiose anche rispetto alla variazione di scala dell'immagine
Nella rappresentazione binaria limitata dei numeri naturali,
ovvero con sequenze binarie di lunghezza fissa, la condizione
di overflow
(trabocco) della somma, cioè di risultato esterno all'intervallo dei
numeri rappresentabili, si manifesta come riporto oltre la posizione
più significativa, all'estremità sinistra.
Nella rappresentazione in complemento a due dei numeri interi, invece,
è noto che l'eventuale riporto oltre il bit di segno (che si trova
all'estremità sinistra) è da ignorare, nella somma algebrica di due numeri.
Quale condizione manifesta allora il verificarsi di un
overflow
della somma algebrica in tale rappresentazione?
Giustificare la seguente asserzione: la rappresentazione approssimata dei
numeri razionali in virgola mobile è preferibile a quella in virgola fissa
rispetto alla propagazione degli errori di arrotondamento nel calcolo di
espressioni aritmetiche.
Approfondimento:
i codici standard per la rappresentazione dei testi si limitano a fornire una
codifica univoca ad ogni simbolo degli alfabeti considerati, e in generale
prescindono dalla rappresentazione grafica dei simboli quali caratteri
tipografici. Questo aspetto attiene alla rappresentazione di una particolare
classe di immagini, i glifi (ingl.
font)
tipografici, frequentemente disponibili sia in forma
bitmap che vettoriale. Quest'ultima
ben si presta alla variazione di scala dei glifi. Ulteriori approfondimenti
del tema possono riguardare il rapporto fra rappresentazione dei glifi e
caratteristiche (quali, ad es., risoluzione, resa dei colori, etc.) dei
dispositivi di visualizzazione e/o stampa dei testi.