1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla...
-
Upload
rosalba-carletti -
Category
Documents
-
view
213 -
download
0
Transcript of 1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla...
1 © 1999 Roberto Bisiani
Rappresentazione delle informazioni
Occorre un codice Legato alla tecnologia usata
• Robustezza• Semplicita’• Economicita’
2 © 1999 Roberto Bisiani
Rappresentazione delle informazioni, cont.
Numeri• Rappresentazione decimale codificata• Rappresentazione posizionale
– Intera positiva e negativa– Floating point (virgola mobile)
Informazione alfanumerica• Codice ASCII (8 bit)• Unicode (16 bit)
Indirizzi• Rappresentazione posizionale
– Intera positiva
3 © 1999 Roberto Bisiani
Numeri interi positivi
Quindi• Dati• Indirizzi
Rappresentazione posizionale in base 10:• Simboli uguali assumono valori diversi a seconda della
loro posizione nel numero• Somma delle potenze del 10 pesate per il valore del
simbolo corrispondente
– In un calcolatore viene solitamente usata la base 2. Vantaggi:
• Semplice da leggere• Aritmetica semplice (provare con i numeri “romani”)
4 © 1999 Roberto Bisiani
Altre basi
Per convenienza si usano a volte altre base per manipolare esternamente le informazioni all’interno di un calcolatore.
Ottale (base 8)
Esadecimale (base 16)
MA LA RAPPRESENTAZIONE INTERNA NON CAMBIA!!!!
5 © 1999 Roberto Bisiani
Altre basi
Non a caso sono basi “potenza di 2”• La conversione da e a binario e’ molto facile
Il loro uso e’ superato grazie alla potenza delle interfacce utente.
6 © 1999 Roberto Bisiani
Conversioni
Base B decimaleBasta rappresentare usando una
rappresentazione decimale come potenze di B e poi fare i conti.
Es. 01001
0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 8 + 1 = 9
7 © 1999 Roberto Bisiani
Conversioni, cont.
8 © 1999 Roberto Bisiani
Conversioni, cont.
Non sempre si puo’ rappresentare un numero finitamente in due basi diverse.
Esempio: il numero 0,357 base 10 non si puo` rappresentare finitamente in base 2: 0,357 * 2 = 0,714 e segno quindi 0 0,714 * 2 = 1,428 e segno quindi 1 0,428 * 2 = 0,856 e segno quindi 0 0,856 * 2 = 1,712 e segno quindi 1 0,712 * 2 = 1,424 e segno quindi 1 . . . . . . . . .
9 © 1999 Roberto Bisiani
Numeri negativi
Segno e grandezza• Non efficente nell’implementare le operazioni
aritmentiche
10 © 1999 Roberto Bisiani
Numeri negativi, cont.
Complemento a uno
11 © 1999 Roberto Bisiani
Numeri negativi, cont.
Complemento a uno: due zeri, negazione facendo il complemento bit a bit
12 © 1999 Roberto Bisiani
Numeri negativi, cont
Complemento a due: uno zero, negazione facendo complemento a 1 e somma di 1.
13 © 1999 Roberto Bisiani
Operazioni aritmetiche
Numeri positivi: bit a bit dato che si tratta di una rappresentazione posizionale
Numeri negativi: le rappresentazioni in complemento permettono di utilizzare sempre la somma anche per sottrarre
14 © 1999 Roberto Bisiani
Overflow
Overflow traboccamento• Si verifica se il risultato di un’operazione non
puo’ essere rappresentato con il numero di bit a disposizione
Nel caso di complemento a due (la norma):• Si verifica solo se i segni sono uguali
-124+ 10000100 67= 01000011 Segni discordi. _____ ________ Risultato corretto. -57 11000111
70+ 01000110 Segni concordi. 70= 01000110 Risultato scorretto (140 è fuori dal ____ ________ range):OVERFLOW. 140 10001100
15 © 1999 Roberto Bisiani
Numeri frazionari
Fixed point
16 © 1999 Roberto Bisiani
Numeri frazionari
Floating point come la notazione scientifica esponenziale
Aumenta la gamma di valori rappresentabili Diminuisce e dimenta variabile la precisione:
• NON TUTTI I VALORI SONO RAPPRESENTABILI!!!!!!!
• Esempio: 1753.427 si puo’ rappresentare come:0.1753427*10^4=1.753427*10^3=...=1753427*10
^-3
17 © 1999 Roberto Bisiani
Gamma di rappresentazione
Le possibilita’ di rappresentare un certo valore non sono uniformi in tutta la gamma di valori rappresentabili.
18 © 1999 Roberto Bisiani
Una possibile rappresentazione floating
point Standard IEEE 754
• Singola precisione, 32 bit• Doppia precisione, 64
19 © 1999 Roberto Bisiani
Standard floating point
I numeri sono sempre normalizzati, cioe’ la parte frazionaria e’ del tipo 1.xxxxxxxxx….
Il primo 1 non viene rappresentato perche’ implicito
Lo zero si rappresenta con un esponente e frazione a zero
20 © 1999 Roberto Bisiani
Rappresentazione dell’esponente
Biased, cioe’ “spostata” di meta’ della precisione possibile
Esempio: se l’esponente e’ di 8 bit invece di rappresentare l’esponente in complemento (da –128 a +127) lo si rappresenta come:• Esponente reale + 128• Quindi l’esponente reale –128 viene
rappresentato come 0, l’esponente reale 0 come 128
Perche’? Per far si’ che due numeri floating point siano confrontabili in grandezza dagli stessi circuiti che confrontano i numeri interi.
21 © 1999 Roberto Bisiani
Esempio
A cosa corrisponde questo numero?
Il bit di segno è 1, mentre il campo esponente contiene 129 e il campo significant contiene 1x2^-2: il numero corrispondente alla notazione è quindi -1.01 x 2^2, che corrisponde al numero decimale -1.25 x 4=-5.0