Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 1
FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira
Appunti del corso
2
Rappresentazione delle informazioni
nei sistemi digitali
Indice
1. Segnali e informazioni
2. Codifica binaria delle informazioni
3. Codifica di informazioni enumerative
4. Codifiche di numeri naturali, interi, razionali
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 2
Segnali e informazioni I segnali sono grandezze fisiche utilizzate per
rappresentare e trasportare informazioni. Le informazioni a loro volta possono essere descrittive di fenomeni fisici (ad esempio una temperatura, la velocità di rotazione di un
motore, ecc.) o essere di tipo astratto (ad es. cifre, caratteri di un testo, simboli, numeri, ecc.).
Ogni singolo segnale è prodotto da uno o più
generatori, in mutua esclusione, mentre può venire
utilizzato da uno o più ricevitori anche contemporaneamente.
E' importante notare che il livello energetico delle grandezze fisiche che costituiscono i segnali è solo connesso alla loro pratica utilizzabilità cioè per il trasporto e la percezione delle informazioni da parte
dei riceventi, con adeguata insensibilità agli agenti perturbanti. Con i dispositivi elettronici i segnali sono generalmente costituiti da grandezze elettriche, ed in
particolare da tensioni o da correnti. Con i dispositivi a funzionalità intrinseca i segnali sono “attivi” e stimolano il meccanismo di percezione dell’informazione, con i dispositivi a funzionalità programmata le informazioni dei segnali sono “lette” quando l’esecuzione del programma incontra le istruzioni di acquisizione (lettura).
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 3
Segnali elettronici I segnali di tipo elettronico sono molto interessanti perchè rendono economicamente possibili varie elaborazioni a bassi livelli energetici e (quindi) ad elevate velocità. Quindi nella maggior parte dei casi i segnali vengono convertiti in questa forma.
Segnali ottici Un crescente interesse presentano anche i segnali luminosi, soprattutto grazie al continuo progresso delle tecnologie di conversione da/verso grandezze elettriche (optoelettronica) e di trasporto (fibre ottiche). Si noti che sono interessanti i segnali più facilmente “convogliabili” verso una specifica destinazione, ad esempio mediante conduttori o fibre ottiche.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 4
Come si rappresentano le informazioni Per un corretto progetto di generazione e ricezione dei segnali occorre stabilire chiaramente quali informazioni sono associate a quali caratteristiche del segnale.
La rappresentazione di informazioni è basata sulla corrispondenza tra caratteristiche di valore e temporali dei segnali e le informazioni che essi rappresentano.
Il tipo di associazione tra informazioni e caratteristiche
del segnale è convenzionale e a priori arbitrario.
La correlazione più spontanea tra informazione e segnale è quella che associa il valore
dell'informazione all'ampiezza del segnale.
Ma sono utilizzate anche altre correlazioni:
- in banda base valore dell’informazione
associato a una durata (durata = intervallo fra variazioni discordi del segnale)
associato a un periodo (periodo = intervallo fra variazioni concordi del segnale)
- con modulazione, cioè trasposizione sui parametri di un andamento sinusoidale
Segnale S(t) = A sin (Wt + F) valore di informazione associato a ampiezza A
valore di informazione associato a frequenza W
valore di informazione associato a fase F
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 5
La rappresentazione delle informazioni può essere di
tipo analogico l'informazione è associata biunivocamente al valore del segnale
di tipo digitale l'informazione è associata al particolare intervallo finito di valori cui appartiene il valore del segnale
Segnali analogici
I segnali analogici rappresentano valori numerici reali. Sono segnali in cui il valore dell’informazione rappresentata è una funzione continua (spesso lineare) della grandezza assunta come significativa. Generalmente si assume l’ampiezza del segnale, o più raramente altri parametri (ad es. la frequenza).
Con i segnali analogici si rappresentano solo
informazioni con valori numerici.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 6
Corrispondenza con le informazioni rappresentate
Le corrispondenze tra segnali e valori rappresentati
sono rappresentabili graficamente con segmenti o curve su un piano cartesiano, come negli esempi seguenti.
Da un punto di vista informatico le corrispondenze vengono descritte con coefficienti di funzioni analitiche oppure con tabelle (array di coordinate di punti).
Valore del segnale
Valore rappresentato
Fondo scala
Intervallo di Valori
rappresentati
Inizio scala
Intervallo di valori del segnale
Fig. - Segnale lineare.
Valore del segnale
Valore rappresentato
Fondo scala
F.S.
Inizio scala
I.S.
Fig. - Segnale non lineare
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 7
Pregi dei segnali analogici I segnali analogici presentano vari interessanti aspetti positivi che in molti casi ne garantiscono la sopravvivenza anche in ambienti sempre più invasi dalle tecnologie digitali.
I principali pregi dei segnali analogici sono: - Esistono vari fenomeni che generano spontaneamente segnali analogici. (sensori, trasduttori). Le leggi della fisica classica operano tipicamente nel “continuo”. - Esistono vari dispositivi semplici, a funzionalità intrinseca,
che sono in grado di interpretare e trasformare i segnali analogici (amplificatori, trasduttori, attuatori).
- Eventuali perturbazioni deformano il segnale, ma
generalmente non lo stravolgono completamente, cioè introducono, nel riconoscimento delle informazioni, errori percentualmente limitati e “proporzionali” all’entità del disturbo.
- E' sufficiente un unico conduttore (ed eventuale ritorno) per trasmettere informazioni "ricche" (cioè appartenenti ad
un insieme ad elevata cardinalità), cioè per rappresentare idealmente gli infiniti valori numerici in un certo intervallo.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 8
Difetti dei segnali analogici - I dispositivi di elaborazione dei segnali analogici
sono relativamente poco precisi, poco stabili nel
tempo e poco immuni alle perturbazioni. Volendo migliorare le loro caratteristiche in tal senso, il loro costo cresce molto rapidamente, ed in ogni caso piccoli errori sono ineliminabili. - Le trasformazioni eseguibili direttamente sui segnali
analogici con i dispositivi sopra citati sono poco
flessibili e si riducono sostanzialmente a operazioni di somma algebrica e operazioni di tipo integro/differenziale.
- E’ molto difficile realizzare buone memorie permanenti di segnali analogici. I circuiti Sample & Hold sono relativamente costosi e “perdono” gradualmente il valore analogico memorizzato. - Ogni elaborazione dei segnali analogici produce un
degrado della precisione, e ciò limita il numero di dispositivi collegabili in cascata e quindi la complessità globale delle elaborazioni effettuabili. - Nelle applicazioni in cui sono previsti strumenti informatici di elaborazione sono necessarie
(relativamente costose) tecniche di "conversione" (A/D analogico/digitale, e D/A digitale/analogico).
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 9
Segnali digitali
Per la rappresentazione di informazioni digitali (cioè dotate di un numero finito di valori) mediante segnali viene creata una corrispondenza convenzionale tra
"fasce" di valori del segnale e le informazioni
rappresentate, che sono costituite da simboli di un alfabeto finito. Queste corrispondenze, descritte in forma grafica, assumono tipicamente una forma a scala, in cui l’estensione orizzontale di ogni scalino rappresenta la fascia di valori del segnale associata all’informazione digitale corrispondente all’ordinata dello scalino.
Valore del segnale
Valore rappresentato Significato (Simbolo)
A
Campo utile dei valori del segnale
B
C
Fig - Corrispondenza tra ampiezza e "significato" di un segnale digitale (caso ternario, con valori dell’informazione contrassegnati in questo esempio dai simboli A, B, C)
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 10
Codifiche Poichè per motivi di semplicità costruttiva e di sfruttamento dei segnali si adotta normalmente un numero estremamente limitato di intervalli, cioè un alfabeto a cardinalità (pari a 2 nel caso binario) troppo bassa per molte applicazioni, si assume in generale la seguente impostazione:
CODIFICA → corrispondenza
significato ↔ configurazione
ogni configurazione è composta da una successione di digit (cifre) ogni digit è rappresentato da un segnale “digitale”
Ciò implica che informazioni caratterizzate da una certa ricchezza di valori richiedono vari (talora anche numerosi) segnali (cioè digit) per la loro rappresentazione, come dalla seguente nota relazione:
N = logbaseD (S)
N = ceiling (log base D (S)) cioè S ≤ DN
dove
N = n. segnali, cioè n. di digit
D = cardinalità dei digit (n. valori assumibili da un digit)
S = cardinalità delle configurazioni (n. informazioni rappresentabili)
Ceiling(x) significa “intero non inferiore al valore(x)”
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 11
Segnali digitali binari Sono caratterizzati da due fasce di valori (alto e basso), spesso chiamati H (High) e L (Low) cui sono convenzionalmente associati i significati:
In logica positiva H = 1 = TRUE = ON L = 0 = FALSE = OFF
In ogica negativa H = 0 = FALSE = OFF L = 1 = TRUE = ON H, L fanno riferimento ai livelli del segnale
0, 1 sono valori numerici, ma per brevità usati anche in senso logico
TRUE, FALSE sono valori di verità logica
ON, OFF sono usati nel gergo dell’automazione per indicare attivazione (ON) o disattivazione (OFF) dei dispositivi
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 12
Segnali digitali binari La fascia di valori contrassegnata con il “?” corrisponde all’intervallo di indeterminazione.
Valore del segnale
Volt
Valore rappresentato
L
Margine di rumore L
H
?
GuH RiH
GuL RiL
Margine di rumore H
Fig. – Segnale binario e margini di rumore per i valori L e H.
GuL = max valore L garantito in uscita VOLmax
RiL = max valore L richiesto in ingresso VILmax
GuH = min valore H garantito in uscita VOHmin
RiH = min valore H richiesto in ingresso VIHmin
Per margine di rumore si intende il massimo
scostamento, rispetto ai valori di segnale garantiti in
uscita dal circuito generatore, che rientra ancora
nella fascia di corretta interpretazione del segnale
in ingresso nel circuito ricevitore.
Il margine di rumore è quindi una proprietà di una
coppia ordinata di circuiti generatore e ricevitore. In genere il margine di rumore viene specificato dal costruttore dei circuiti, rispetto a qualunque coppia di circuiti della stessa famiglia e quindi omogenei tra loro nelle specifiche elettriche rispettivamente sugli ingressi e sulle uscite.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 13
NOTA Perchè segnali a due valori invece che a tanti valori ? Semplicità circuitale (conduzione/interdizione) anche
con una sola tensione di alimentazione.
Mappaggio immediato dei due valori sulla logica vero/falso.
La base "e" (e = 2.71828) minimizza il prodotto Ncif*Base.
Se assumiamo come "costo" della rappresentazione di un'informazione il prodotto del numero di cifre (digit) necessarie moltiplicato per la cardinalità delle cifre (che è un indice della loro "complessità"), il costo associato alla rappresentazione del valore numerico K mediante cifre in base x è esprimibile da: logx (K) * x dove logx (K) rappresenta il numero di cifre richieste per rappresentare l’informazione. Per trovare la base x che minimizza tale costo passiamo ai logaritmi naturali (base e): logx (K) * x = x * ln(K) / ln(x) la cui derivata è: ln(K) * (1/ln(x) + x * (-1/x) * (1/ln(x) exp 2)
che si annulla per ln(x) = 1 quindi per x = e
Con questa impostazione le basi intere ottimali sono 2 e 3.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 14
Rappresentazione delle informazioni con
segnali digitali binari
La grandezza fisica che si utilizza (segnale elettrico di
tensione) assume solo valori in due fasce discrete (binaria)
H
L
Segnale (volt)0 5valori accettati
valori emessi
Informazione
Valori binari
L’elemento tecnologico base per la realizzazione di circuiti digitali è il transistore il cui funzionamento può essere modellato (in modo molto semplificato) come il funzionamento di un interruttore (aperto o chiuso), quindi con due stati fisici, cui corrispondono 2 opportune tensioni (in genere 0V e 5V)..
BIT (binary digit) = cifra binaria. (unità di informazione elementare) Un bit può assumere due valori che possono essere associati ai simboli:
L(ow) H(igh) aspetto fisico del segnale
0 1 aspetto aritmetico
false true aspetto logico
Terminologia e “unita’ di misura”
1 cifra = bit 1 Kilo = 210 = 1024 103 8 bit = byte 1 Mega = 220 = 1048576 106 16 bit = word (parola) 1 Giga = 230 109 32 bit = double word 64 bit = quad word
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 15
Pregi dei segnali digitali I numerosi ed interessanti pregi dei segnali digitali (soprattutto binari) sono alla base della ben nota evoluzione (o rivoluzione) elettronica ed informatica. Citiamo brevemente i principali: Possibilità di rappresentare con esattezza e senza
incertezza configurazioni di un alfabeto finito. L’aumento della precisione (cardinalità dell’alfabeto) ha un costo (numero di bit necessari) crescente solo con il logaritmo della cardinalità.
Semplicità e robustezza dei circuiti di generazione e riconoscimento dei segnali.
Elevata immunità ai disturbi (consente la rappresentazione esatta con elevata probabilità).
Semplicità dei circuiti di memoria (bistabili).
Semplicità dei circuiti per semplici elaborazioni.
Realizzabilità di elaborazioni complesse con (elevato) numero di circuiti semplici, senza degrado (v. eccezioni) della precisione dei risultati, grazie
all'effetto di rigenerazione consentito dai margini di rumore dei circuiti digitali.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 16
Difetti dei segnali digitali I difetti dei segnali digitali sono, come è spontaneo pensare, complementari ai pregi dei segnali analogici. Su questi punti vanno quindi effettuate attente analisi quando si debba decidere per l'una o l'altra forma.
Gli errori possono colpire indifferentemente i bit meno significativi (LSB) o (purtroppo!) i più significativi (MSB)
Gli errori possono quindi "stravolgere" l'informazione (corollario del punto precedente).
L'interpretazione del valore è poco "immediata" (passa attraverso una codifica).
Occorrono vari bit (in parallelo o in sequenza temporale) per rappresentare informazioni "ricche".
Con bit in parallelo si hanno problemi di commutazioni non contemporanee (corse critiche), da cui l’uso di codice Gray.
Si ha la necessità di conversione (A/D = Analogico-Digitale) nei numerosi casi di informazioni che sono intrinsecamente continue, accettando i costi e gli errori di quantizzazione di tale conversione.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 17
Rappresentazione binaria
Nella rappresentazione binaria l’alfabeto (l’insieme
dei simboli utilizzabili) è costituito dalle cifre 0 e 1. Un’informazione di un certo tipo è rappresentabile da
una sequenza (configurazione) di cifre.
Quanti sono i valori distinti rappresentabili di un certo tipo di informazioni?
se sono disponibili N cifre binarie si possono avere
2N configurazioni diverse e quindi rappresentare al
più 2N valori distinti dell’informazione
se si devono rappresentare M informazioni distinte
sono necessarie N = log2M cifre binarie
Quindi a seconda della cardinalità (M) dell’insieme di valori
dell’informazione da rappresentare con una certa variabile, quest’ultima dovrà essere composta da un opportuno numero di bit maggiore o uguale al numero (N) indicato dalla relazione precedente. L’operatore ceiling(x) = x rappresenta il minimo intero >= X
Pensando ad una variabile come “contenitore” il numero di bit di cui è composta ne costituisce la “capienza”, che ovviamente dovrà essere adeguata alla cardinalità dei valori assegnabili alla variabile stessa.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 18
Codifica dell’informazione
Una codifica è un insieme di regole per costruire e
interpretare la sequenza di cifre – nel caso in esame cifre binarie – che rappresenta l’informazione di un
dato tipo (caratteri, numeri interi, ecc.)
Codifica di informazioni di un dato tipo definizione
corrispondenza biunivoca tra
rappresentazione (i bit) dell’informazione e
significato (valore) dell’informazione
codifica
RAPPRESENTAZIONE SIGNIFICATO
Corrispondenza: è definita in modo arbitrario (è una convenzione) ma deve essere nota e sempre rispettata da chi genera e da chi utilizza le informazioni. Vengono quindi in
genere definite delle codifiche standard.
Arbitrarietà: è utile sfruttarla per avere delle rappresentazioni
dell’informazione che godono di proprietà particolari.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 19
Arbitrarietà: della codifica sfruttata per ottenere proprietà particolari
Le proprietà desiderabili possono dipendere dall’uso che verrà fatto delle informazioni.
facilità di operazioni aritmetiche tra numeri (codifica pesata e complemento a 2)
ordinamento alfabetico tra le lettere (codifica ASCII)
ordinamenti naturali delle informazioni (codifiche enumerative)
raggruppamenti naturali delle informazioni (significato dei singoli bit o di gruppi)
facilità di conversione in base 10 (codifica BCD)
proprietà di simboli contigui (codifica Gray)
riconoscimento e correzione di alcuni errori (codifica Hamming)
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 20
Codifica dell’informazione Le informazioni che consideriamo devono essere rappresentate ed elaborate da una macchina (calcolatore elettronico).
Aspetto fondamentale:
il numero di elementi “fisici” (elementi di memoria, collegamenti ....) disponibile per contenere e comunicare la rappresentazione di
ogni tipo di informazione è finito. Poichè ogni singolo elemento fisico “contiene” il valore di una cifra binaria, in ogni componente di un
calcolatore il numero di cifre binarie disponibili per
rappresentare l’informazione è finito. Quindi il numero di valori distinti rappresentabili per ogni informazione è finito.
Nasce quindi il concetto di non rappresentabilità di valori di informazioni che richiedono un numero di cifre maggiore di quelle disponibili.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 21
Considerazione sulla
codifica dell’informazione Siamo abituati a considerare la disponibilità di un numero “illimitato” (o comunque sufficiente) di elementi per rappresentare le informazioni.
Esempio 1 Numeri decimali e operazioni aritmetiche: siamo abituati ad usare tutte le cifre necessarie senza particolari limiti.
Esempio 2 Informazioni da rappresentare: parole della lingua italiana
alfabeto: 21 lettere
lunghezza delle parole non limitata (si può ipotizzare un limite ragionevole Hp: Lmax=26)
molte sequenze di lettere non hanno significato Vocabolario italiano
numero di parole esistenti è << 2126
(possibili combinazioni)
non sono esaurite tutte le sequenze possibili (configurazioni) di lettere
l’introduzione di nuove parole non richiede di aumentare la lunghezza e/o di aumentare il numero di simboli
In ambito informatico la cardinalità degli insiemi di
valori rappresentabili è finita.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 22
Tipi di informazioni da rappresentare
1. Informazioni enumerative Caratteristiche:
Numerabili (associabili a un sottoinsieme dei numeri
naturali)
non numeriche
l’ordine di enumerazione è significativo: può denotare delle proprietà tra le informazioni e consentire delle operazioni (ad es. confronto) tra le informazioni
2. Valori numerici Caratteristiche:
devono consentire di rappresentare in modo “adeguato” gli insiemi della matematica (naturali, interi, razionali, reali)
sono dei sottoinsiemi di alcuni degli insiemi della matematica del punto precedente
devono essere possibili tutte le operazioni della matematica (e, almeno quelle fondamentali, devono essere facili da realizzare con dei circuiti)
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 23
Informazioni enumerative
Esempi:
1. Colori dell’arcobaleno: 7 colori 3 bit e quindi 8 possibili configurazioni distinte
scelta della corrispondenza (arbitraria, ma si può preservare la posizione nell’arcobaleno, cioè l’ordine per frequenze della luce crescenti)
la configurazione libera disponibile può venire usata per rappresentare il “non colore” (nero)
significato codifica
nero 000 Questa tabella riporta
rosso 001 una possibile (non standard)
arancio 010 codifica binaria dei 7 colori.
giallo 011
verde 100
azzurro 101
indaco 110
violetto 111
2. Le istruzioni macchina di un calcolatore
3. Giorni della settimana: lu ma me gio ve sa do
4. Mesi dell’anno 5. Note musicali .....
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 24
Informazioni enumerative:
caratteri alfanumerici I caratteri alfanumerici consentono all’uomo di rappresentare tutte le informazioni “scrivibili” (con qualche difficoltà, anche immagini, suoni, sensazioni, ecc.).
Si tratta quindi di una codifica molto importante ed
utilizzata. Si devono rappresentare:
lettere maiuscole/minuscole A a .. Z z
spazio
cifre decimali 0 .... 9
segni di interpunzione , : ; .
simboli di stampa ! “ # % @ ) < =
caratteri di controllo per gestire la visualizzazione, la stampa, la trasmissione dei caratteri (fine riga, salto di
riga, salto pagina, inizio messaggio ....) La rappresentazione dei caratteri alfanumerici fa uso
di una codifica standard universalmente accettata:
codifica ASCII (American Standard Code for Information Interchange)
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 25
Codifica ASCII: caratteristiche
7 bit per rappresentare ogni carattere 128 caratteri alfanumerici distinti: le possibili configurazioni vanno da 0000000 a 1111111
la codifica è stata scelta in modo da rispettare alcune “proprietà” dei caratteri: ordinamento del valore numerico delle cifre
ordinamento alfabetico delle lettere
introduce le seguenti ulteriori proprietà: le lettere maiuscole precedono tutte le lettere
minuscole
la “distanza” (differenza tra i valori interpretati numericamente) tra una lettera maiuscola e la sua corrispondente minuscola è la stessa per tutte le lettere
ASCII esteso (8 bit) 256 configurazioni:
le prime 128 (da 00000000 a 01111111) sono associate ai caratteri dell’ASCII Standard, le rimanenti 128 (da 10000000 a 11111111) sono associate a lettere accentate..., a caratteri semigrafici ...
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 26
Tabella ASCII
bit meno significativi
bit più significativi
000 001 010 011 100 101 110 111
0000 NUL DLE SP32 0 48 @ 64 P 80 ` 96 p 112
0001 SOH DC1 ! 33 1 49 A 65 Q 81 a 97 q 113
0010 STX DC2 “ 34 2 50 B 66 R 82 b 98 r 114
0011 ETX DC3 # 35 3 51 C 67 S 83 c 99 s 115
0100 EOT DC4 $ 36 4 52 D 68 T 84 d 100 t 116
0101 ENQ NAK % 37 5 53 E 69 U 85 e 101 u 117
0110 ACK SYN & 38 6 54 F 70 V 86 f 102 v 118
0111 BEL ETB ’ 39 7 55 G 71 W 87 g 103 w 119
1000 BS CAN ( 40 8 56 H 72 X 88 h 104 x 120
1001 HT EM ) 41 9 57 I 73 Y 89 i 105 y 121
1010 LF SUB * 42 : 58 J 74 Z 90 j 106 z 122
1011 VT ESC + 43 ; 59 K 75 [ 91 k 107 { 123
1100 FF FS , 44 < 60 L 76 \ 92 l 108 | 124
1101 CR GS – 45 = 61 M 77 ] 93 m 109 } 125
1110 SO RS . 46 > 62 N 78 ^ 94 n 110 ~ 126
1111 SI US / 47 ? 63 O 79 – 95 o 111 DEL
N.B. I valori numerici in piccolo sono il valore decimale corrispondente al codice ASCII (interpretato numericamente) La codifica ASCII di un carattere nella tabella è ottenuta prendendo i 3 bit corrispondenti alla colonna, seguiti dai 4 bit corrispondenti alla riga (questi gruppi di bit sono anche facilmente associabili a cifre esadecimali - v.seguito).
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 27
Rappresentazione di valori numerici
Le classi di valori numerici che vengono generalmente rappresentate sono le seguenti:
Numeri naturali
Numeri interi (relativi)
Numeri razionali
Rappresentazione di numeri naturali:
codifica pesata (binario naturale)
La codifica standard si basa sulla notazione posizionale o “pesata” che adottiamo usualmente anche per i numeri
codificati in decimale e che ha la proprietà di facilitare
l’esecuzione delle operazioni aritmetiche. Con generica base B
Terminologia:
Base: B (B=2, B=10, B=3, B=16)
Valori delle cifre: 0 .. B-1
Notazione posizionale: Bk (2
k, 10
k)
Nella notazione posizionale, in qualunque base, il valore
numerico rappresentato da una cifra dipende
dal valore della cifra
dalla posizione della cifra nel numero
Esempio in base 10
P10= 12110 = 1102+210
1+110
0
Data una base B e un numero di cifre disponibili N
i numeri naturali (interi 0) rappresentabili sono
0 P BN-1
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 28
Codifica pesata dei numeri naturali
in base 2
P2= bN-1 2N-1
+ bN-2 2N-2
+......+ b2 22+ b1 2
1+ b0 2
0
bit più significativo: bN-1 bit meno significativo: b0 Ad esempio:
numero di bit disponibili N=3 i valori numerici rappresentabili sono
0 P 23-1 cioè 0 P 7
decimale binario valore
0 000 0 22+0 2
1+0 2
0
1 001 0 22+0 2
1+1 2
0
2 010 0 22+1 2
1+0 2
0
3 011 0 22+1 2
1+1 2
0
4 100 1 22+0 2
1+0 2
0
5 101 1 22+0 2
1+1 2
0
6 110 1 22+1 2
1+0 2
0
7 111 1 22+1 2
1+1 2
0
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 29
Codifica pesata dei numeri naturali in base 2 Esempio: numero di bit disponibili N=5 i valori numerici P rappresentabili
sono 0 P 25-1 cioè 0 P 31
decimale binario valore
0 00000 0 24+0 2
3+0 2
2+0 2
1+0 2
0
1 00001 0 24+0 2
3+0 2
2+0 2
1+1 2
0
2 00010 0 24+0 2
3+0 2
2+1 2
1+0 2
0
..... ......
7 00111 0 24+0 2
3+1 2
2+1 2
1+1 2
0
8 01000 0 24+1 2
3+0 2
2+0 2
1+0 2
0
..... ......
15 01111 0 24+1 2
3+1 2
2+1 2
1+1 2
0
16 10000 1 24+0 2
3+0 2
2+0 2
1+0 2
0
..... ......
30 11110 1 24+1 2
3+1 2
2+1 2
1+0 2
0
31 11111 1 24+1 2
3+1 2
2+1 2
1+1 2
0
gli zeri davanti “non contano” ma ci devono essere. Siamo abituati a non scrivere gli zeri non significativi, lasciandoli impliciti.
Invece i segnali fisici possono solo indicare i valori 0 o 1 per tutti i bit usati per rappresentare un valore numerico, e non possono “sparire”.
Per ogni dato tipo di informazioni si adotta un numero fisso di bit, che deve essere stabilito a priori, e non una quantità che dipende dal valore di volta in volta rappresentato. Potenze di 2 da sapere a memoria o saper ricavare rapidamente:
N=6 0 - 63
N=7 0 - 127
N=8 0 - 255
N=10 0 - 1023 (1 K)
N=16 0 - 26210 = 0 - 65535 0 - 64.000 (64 K)
N=32 0 - 22210 210 210 0 - 4.000.000.000 (4 G)
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 30
Codifica esadecimale (HEX)
E’ la codifica pesata dei numeri naturali in base B=16, sono quindi
previste 16 cifre diverse.
valore cifra hex
binario
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
Il valore di un generico numero rappresentato in esadecimale si ottiene dalla relazione (dove N rappresenta il numero di cifre esadecimali):
P16=bN-1 16N-1+bN-2 16N-2+......+b2 162+b1 161+b0 160
Nella documentazione tecnica di calcolatori ed in generale di circuiti logici occorre spesso citare delle configurazioni binarie (codifiche, indirizzi, ecc.). Sequenze di 16 o 32 bit rappresentati con “1” e “0” sono, per l’uomo, scomode da gestire e difficili da ricordare. Si ricorre quindi generalmente alla rappresentazione esadecimale (HEX). In particolare la forma HEX è usata nel linguaggio Assembler.
NOTA – La codifica esadecimale non è, ovviamente, una codifica binaria, e non è utilizzata all’interno dei calcolatori. Come la codifica decimale può essere usata nell’ambito di programmi
La comodità della rappresentazione HEX sta nella facilità di conversione in binario e viceversa:
ogni gruppo di 4 bit corrisponde
direttamente ad una cifra HEX, come nella tabella accanto. ESEMPIO binario 0110 1001 1101 0100 HEX 6 9 D 4 Generalmente si premette uno “0” iniziale e una “h” finale. cioè 069D4h
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 31
Altre codifiche di valori numerici Per la rappresentazione dei numeri naturali esistono altre codifiche che non sfruttano la proprietà della notazione posizionale (utile per l’aritmetica) ma che
privilegiano altri aspetti e proprietà delle sequenze di 0 e 1 che rappresentano il valore numerico.
Codifica Gray (detta anche codifica a distanza di Hamming = 1)
Questa codifica è caratterizzata dalla seguente proprietà:
dato un valore numerico da rappresentare
la sua rappresentazione è diversa per il valore di una sola
cifra (distanza di Hamming = 1) dalla rappresentazione del valore numerico precedente e dalla rappresentazione del valore numerico successivo
Decimale Codifica Gray
0 000
1 001
2 011
3 010 Esempio di codifica Gray
4 110 con 3 bit
5 111
6 101
7 100
Utile per rappresentare senza incertezze, con segnali fisici, dei valori numerici che nel tempo si incrementano e decrementano, evitando di richiedere le commutazioni di più di un bit alla volta, che potrebbero verificarsi non contemporaneamente. Questa codifica è usata in applicazioni di automazione industriale.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 32
Codifica BCD (Binary Coded Decimal)
Questa codifica rappresenta ciascuna cifra decimale con il valore numerico binario corrispondente.
Poichè le cifre decimali vanno da 0 a 9, il valore numerico massimo da rappresentare in binario è 9: sono quindi
necessari 4 bit ( detto anche nibble) per ogni cifra decimale. Le 6 configurazioni rimanenti dei 4 bit non sono utilizzate.
Cifra decimale Codifica BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Ad esempio: il valore decimale 1429 è codificato come 0001 0100 0010 1001 1 4 2 9
Questa codifica ha la proprietà di rendere facile la conversione con i numeri rappresentati in base dieci. Richiede circuiti un po’ più complessi per l’esecuzione delle operazioni aritmetiche. Non sfrutta tutte le combinazioni dei bit. Ad es. con 12 bit binario puro 0 – 4095
con 12 bit BCD 0 – 999
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 33
Conversione della rappresentazione pesata Conversione =
passaggio dalla rappresentazione pesata di un
numero naturale da una base b1 ad una base
b2. Le regole di conversione si basano:
sull’uguaglianza dei valori numerici, cioè indipendentemente dalla base di rappresentazione il valore del numero è lo stesso
sul concetto di notazione pesata, cioè peso delle cifre dato da potenze della base
Consideriamo i casi di conversione da binario a decimale e da decimale a binario di numeri naturali
Conversione binario → decimale (numeri naturali): è molto semplice
P2=111102 = 124+123
+122+121
+020
= 16 + 8 + 4 + 2 + 0 = 3010
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 34
Conversione decimale → binario
di numeri naturali Algoritmo, descritto con pseudocodice, di conversione in binario del numero intero decimale VALORE:
Inizio algoritmo
V = VALORE
n = 0
Ripetere finchè V > 0
Bn = resto divisione intera (V/2)
V = risultato divisione intera (V/2)
Incrementa n di 1
Fine ciclo
Fine algoritmo Bn sono i bit della rappresentazione binaria pesata del numero decimale VALORE. Il numero di iterazioni necessarie per arrivare al
termine del procedimento determina il numero
minimo di bit necessari per rappresentare quel particolare numero in binario.
Gli eventuali bit più significativi eccedenti assumono il valore 0.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 35
Conversione decimale → binario
di numeri naturali
Esempio: convertire in base 2 il numero decimale 37.
V 37 B0 1
V 18 B1 0
V 9 B2 1
V 4 B3 0
V 2 B4 0
V 1 B5 1
V 0
3710 = 1001012
La rappresentazione con 8 bit (un byte) è
3710 = 001001012 Nell’esempio, il numero minimo di bit è 6. B5 rappresenta il bit più significativo. Si noti che continuando il procedimento si otterrebbero (correttamente) degli 0 nelle posizioni più significative.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 36
Operazioni aritmetiche tra naturali
in notazione posizionale
Le operazioni aritmetiche in base 2 seguono le stesse “regole” di quelle in base 10.
E’ fondamentale ricordarsi del problema della rappresentabilità dell’informazione con un numero di bit predefinito.
Ad esempio, nel caso di addizione di due interi rappresentati su N bit, il risultato della somma può
richiedere N+1 bit (overflow = traboccamento, o
superamento) e quindi non essere rappresentabile con i soli N bit.
I circuiti per eseguire le operazioni aritmetiche in notazione posizionale sono molto semplici.
Notevole vantaggio della codifica posizionale.
Esempio: tabella della somma su un bit.
Come nel decimale esiste il riporto verso la cifra più significativa (indicato tra parentesi).
b a b a+b
+ 0 1 0 0 0
a 0 0 1 = 0 1 1
1 1 0 (1) 1 0 1
1 1 0 (1)
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 37
Operazioni aritmetiche: esempi
Somma: N = 4 bit valori rappresentabili da 0 a 15
111 riporti
7 + 0111 + 3 0011
10 1010
1 110 riporti
7 + 0111 + 10 1010
17 (1)0001 non rappresentabile
Sottrazione: N = 4 bit valori rappresentabili da 0 a 15
110 prestiti
12 - 1100 - 6 0110
6 0110
1 000 prestiti
5 - 0101 - 8 1000
- 3 (1)1101 non rappresentabile come intero naturale su 4 bit
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 38
Rappresentazione di valori numerici
interi relativi In aritmetica decimale, per rappresentare i numeri relativi siamo abituati ad utilizzare la rappresentazione in modulo e segno che però è scomoda per l’esecuzione automatica con circuiti.
Le operazioni aritmetiche (algebriche) di somma e sottrazione, così come siamo abituati ad eseguirle, lavorano in modulo e segno e implicano una serie di operazioni elementari per ottenere il risultato corretto: analisi dei segni degli operandi esempio: 5 + (-7) sottrazione
confronto tra i moduli degli operandi 7 > 5 7 è il minuendo
somma tra moduli (naturali) oppure
sottrazione tra moduli (naturali) 7 - 5 = 2 (modulo del risultato)
determinazione del segno del risultato risultato negativo -2
Rappresentazione dei numeri interi (relativi):
Codifica in complemento a 2
All’interno dei calcolatori per i numeri interi relativi si
utilizza usualmente non una rappresentazione in modulo e segno, ma la rappresentazione detta
in complemento a 2 che consente di trattare somme e sottrazioni algebriche in modo indifferenziato e quindi è realizzabile con circuiti aritmetici più semplici.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 39
Rappresentazione in complemento a 2
Date N cifre binarie, sono disponibili 2N
configurazioni distinte: di queste
2N-1
vengono utilizzate per rappresentare valori 0 e 2
N-1 vengono utilizzate per rappresentare valori < 0.
Ad esempio, se N = 4 sono disponibili 16 configurazioni distinte, con queste posso rappresentare
valori 0: da 0 a 2N-1
-1 cioè da 0 a 7
valori < 0: da -1 a - 2N-1
cioè da -1 a -8 Esempi di campi di valori rappresentabili N=6 da -32 a +31
N=7 da -64 a +63
N=8 da -128 a +127 N=10 da -512 a + 511
N=16 da -32.768 a +32.767
N=32 da - 2.000.000.000 a + 2.000.000.000
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 40
Rappresentazione in complemento a 2 Esempio di codifica su 4 bit
cpl2 = complemento a 2 = two’s complement
La rappresentazione del valore numerico intero positivo P
in cpl 2 su N bit si ottiene nel modo seguente:
P ( 0) P in cpl2 = P2 su N bit
E il suo opposto
P (<0) P in cpl2 = (2NP)2 su N bit
+7 0111
+6 0110
+5 0101
+4 0100
+3 0011
+2 0010
+1 0001
0 0000
-1 1111
-2 1110
-3 1101
-4 1100
-5 1011
-6 1010
-7 1001
-8 1000
Nota bene: dal valore del bit più significativo
si può dedurre il segno:
0 valore 0
1 valore < 0
ma il primo bit non è il segno:
non basta cambiarlo per
cambiare segno al numero!!!
+1 -1
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 41
Rappresentazione in complemento a 2
Problema: dato un valore numerico intero relativo individuarne la
rappresentazione su N bit in cpl 2
Regola di conversione
Si considera il valore assoluto del numero da rappresentare Lo si converte in notazione binaria posizionale su N cifre (bit)
se il numero da rappresentare è 0, questa è già la rappresentazione in complemento a 2
se il numero da rappresentare è < 0, si deve calcolare l’opposto e per fare ciò si complementano tutti i bit e si somma 1
In alternativa, partendo dal bit meno significativo, si lasciano inalterati i valori dei bit fino al primo 1 incluso e si complementano i rimanenti bit
Esempio su 4 bit.
P = - 6 610 = 01102 complemento i bit 1001 sommo 1 1010
- 610 = 1010cpl2
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 42
Esempi di operazioni aritmetiche
di somma algebrica tra
interi relativi in complemento a 2 011
3 + 0011 + -5 1011
-2 1110 1 111
- 1 + 1111 + 1 0001
0 (1)0000
Qui c’è riporto sul bit più Significativo che va trascurato. Il risultato è corretto.
Nota –
Se i due addendi hanno segno opposto non si avrà mai supero e l’eventuale riporto a monte del bit più significativo va ignorato e il risultato è corretto.
Se i due addendi hanno lo stesso segno, si ha supero se il risultato appare di segno opposto, anche se non si ha riporto a monte del bit più significativo, e il risultato in questo caso ovviamente non è corretto.
110
2 + 0010 + 7 0111
9 1001
1001 e’ negativo! Qui c’è superamento (overflow) anche se non c’è riporto.
Risultato non corretto
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 43
Rappresentazioni con codifiche intere Le codifiche intere considerate finora sono - codifica pesata (binario puro) - codifica in complemento a 2 - codifica Gray - codifica BCD
Queste codifiche hanno in comune la proprietà
di avere una risoluzione costante in valore
assoluto in tutto il campo di valori rappresentati,
e quindi una risoluzione relativa che è percentualmente più elevata per i valori più piccoli. Quando si deve fare attenzione alla risoluzione relativa?
Quando i valori da rappresentare in realtà sarebbero continui, come ad esempio le misure di grandezze fisiche. In questi casi la risoluzione corrisponde agli errori di quantizzazione che si commettono adottando una codifica intera. In molti casi per le misure non è accettabile un errore di quantizzazione relativo elevato per piccoli valori di misura.
Quindi le codifiche intere
sono adatte per conteggi di oggetti
sono adatte per quantità monetarie
sono da usare con cautela per misure di grandezze continue
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 44
Codifica di numeri razionali: Rappresentazione in virgola fissa
(fixed point) Costituisce un’estensione della codifica posizionale pesata che considera anche le cifre dopo la virgola, con pesi dati dalle potenze negative della base 2, analogamente a quanto si fa normalmente in base 10. La virgola (point) non viene rappresentata, ma la sua posizione viene prefissata e rigidamente mantenuta. Es. Virgola fissa di 2 byte, di cui uno dopo la virgola:
0000 0110 1100 0000
^ posizione prefissata della virgola il valore è 2
2 + 2
1 + 2
-1 + 2
-2
4 + 2 + 0,5 + 0,25 = 6,7510 La rappresentazione in virgola fissa ha la proprietà di avere una risoluzione costante in valore assoluto, ma che può essere scelta piccola a piacere dedicando un opportuno numero K di bit alla parte frazionaria
risoluzione = 2-K
Ad es. dedicando 10 bit alla parte dopo la virgola, la risoluzione è 1/1024 cioè circa un millesimo.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 45
Rappresentazione in virgola fissa (fixed point)
Conversione decimale → binario virgola fissa La conversione tratta separatamente la parte intera e la parte frazionaria.
Parte intera – si procede per divisioni successive, come precedentemente indicato per i numeri naturali.
Parte frazionaria – si procede per moltiplicazioni x2 come nell’esempio seguente. Es. 25,3510 da convertire in due byte
parte intera 25 12 1 12 6 0 6 3 0 3 1 1 1 0 1 00011001
parte frazionaria 0,35 0,70 0,70 1,40 0,40 0,80 0,80 1,60 0,60 1,20 0,20 0,40 0,40 0,80 0,80 1,60 01 0110 01.. (periodico !!!)
25,3510 = 0001 1001 0101 1001 fixed point [byte],[byte]
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 46
Codifica di numeri razionali: Rappresentazione in virgola mobile
(floating point) Il valore di un numero razionale R è esprimibile con la
seguente forma generale per qualunque base b
R = M • b E
(R non periodico)
R - valore razionale positivo o negativo
M - mantissa frazionaria con segno
b - base
E - esponente intero con segno
Quindi, data e sottintesa una base b, un numero rappresentato in virgola mobile può avere la forma
E M
Dove M è la rappresentazione con un certo numero di cifre della mantissa nella base b,
ed E è la rappresentazione con un certo numero di cifre, anche questa nella base b, dell’esponente da dare alla base. Si noti che:
l’estensione del campo di valori rappresentabili
dipende dal numero di cifre adottate per E
la risoluzione (precisione) dipende dal numero
di cifre adottate per M
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 47
Codifica di numeri razionali: rappresentazione in virgola mobile
Standard IEEE 754 floating point su 32 bit
1 bit di segno S della mantissa
8 bit di esponente E Nota – lo standard IEEE754 adotta
per la mantissa la rappresentazione in modulo
(M) e segno (S) per l’esponente la codifica “eccesso 127”,
cioè E = esp +127
quindi NON modulo e segno NE’ complemento a 2.
Campo di valori rappresentabili (nota: 2126
≈1038
) L’esponente di 8 bit consente valori di ±126
~ -10 38
. . ~-10 -38
0 ~10 -38
. . ~10 38
Risoluzione relativa uno su 16 milioni (2-24
) 23 bit di mantissa M più il primo bit sottinteso perchè sempre = 1 per effetto della normalizzazione. La mantissa di 24 bit corrisponde a circa 7 cifre decimali (nota: 2
24 .≈ 0,16*10
7 )
S E M
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 48
Standard IEEE 754 floating point su 32 bit
Tipo float del linguaggio C
La collocazione dei bit nei 4 byte è la seguente: Seeeeeee emmmmmmm mmmmmmmm mmmmmmmm
Il valore numerico rappresentato V vale:
V MS E ( ) ( . )1 2 1127
N.B. – Con questo standard
la normalizzazione prevede una mantissa 1 ≤ mantissa < 2
Convenzioni di codifica di casi particolari
Categoria Esp. Mantissa
Zeri (±0) 0 0
Numeri denormalizzati 0 non zero
Numeri normalizzati 1.. 254 qualunque
Infiniti (±∞) 255 0
NAN (Not A Number) 255 non zero
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 49
Codifica di numeri razionali: rappresentazione in virgola mobile
NB. I circa 4 miliardi di configurazioni dei 32 bit usati consentono di
coprire un campo di valori molto ampio con una risoluzione
relativa costante, grazie alla distribuzione non uniforme dei
valori associati alle configurazioni di bit.
Infatti per numeri molto piccoli i valori sono “fitti”, ma si vanno “diradando” per i numeri via via più grandi.
0- +
Approssimativamente gli intervalli tra valori contigui (risoluzione) sono:
per valori di 10000 l’intervallo è di un millesimo
per valori di 10 milioni l’intervallo è di un’unità
per valori di 10 miliardi l’intervallo è di mille (!!!)
ecc.
Meditare sulle conseguenze! Operando con floating point di 32 bit si ha che:
Un miliardo più dieci risulta un miliardo. Cioè i valori non rappresentabili non sono solo quelli esterni all’intervallo di rappresentabilità, ma anche valori interni. Ci sono anche gli standard IEEE floating point su 64 (tipo double) e su 80
bit che estendono notevolmente il campo di valori rappresentabili e riducono la risoluzione rendendola molto più fine e consentendo quindi precisioni molto maggiori. Importanti per calcolo scientifico.
Fondamenti di Informatica – Corso di Laurea Prof. L. Mezzalira
2 - Rappresentazione delle informazioni nei sistemi digitali - 50
Codifica di numeri razionali: rappresentazione in virgola mobile
Le principali proprietà della codifica floating point sono:
esteso campo di valori rappresentabili
risoluzione (errore di quantizzazione)
percentualmente costante in tutto il campo di valori
Queste proprietà rendono la rappresentazione floating point
adatta a rappresentare misure di grandezze fisiche
non adatta a rappresentare quantità monetarie
non adatta a rappresentare conteggi di oggetti Si noti che le caratteristiche della rappresentazione floating point sono “complementari” a quelle delle rappresentazioni intere (cpl2, Gray, BCD, ecc.)