1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita
2 © 1999 Roberto Bisiani Rappresentazione delle informazioni, cont. n Numeri Rappresentazione decimale codificata Rappresentazione posizionale – Intera positiva e negativa – Floating point (virgola mobile) n Informazione alfanumerica Codice ASCII (8 bit) Unicode (16 bit) n Indirizzi Rappresentazione posizionale – Intera positiva
3 © 1999 Roberto Bisiani Numeri interi positivi n Quindi Dati Indirizzi n 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. n 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 allinterno di un calcolatore. Ottale (base 8) Esadecimale (base 16) MA LA RAPPRESENTAZIONE INTERNA NON CAMBIA!!!!
5 © 1999 Roberto Bisiani Altre basi n Non a caso sono basi potenza di 2 La conversione da e a binario e molto facile n Il loro uso e superato grazie alla potenza delle interfacce utente.
6 © 1999 Roberto Bisiani Conversioni Base B decimale Basta rappresentare usando una rappresentazione decimale come potenze di B e poi fare i conti. Es * * * * * 2 0 = = 9
7 © 1999 Roberto Bisiani Conversioni, cont.
8 © 1999 Roberto Bisiani Conversioni, cont. n 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
9 © 1999 Roberto Bisiani Numeri negativi n Segno e grandezza Non efficente nellimplementare le operazioni aritmentiche
10 © 1999 Roberto Bisiani Numeri negativi, cont. n Complemento a uno
11 © 1999 Roberto Bisiani Numeri negativi, cont. n Complemento a uno: due zeri, negazione facendo il complemento bit a bit
12 © 1999 Roberto Bisiani Numeri negativi, cont n Complemento a due: uno zero, negazione facendo complemento a 1 e somma di 1.
13 © 1999 Roberto Bisiani Operazioni aritmetiche n Numeri positivi: bit a bit dato che si tratta di una rappresentazione posizionale n Numeri negativi: le rappresentazioni in complemento permettono di utilizzare sempre la somma anche per sottrarre
14 © 1999 Roberto Bisiani Overflow n Overflow traboccamento Si verifica se il risultato di unoperazione non puo essere rappresentato con il numero di bit a disposizione n Nel caso di complemento a due (la norma): Si verifica solo se i segni sono uguali = Segni discordi. _____ ________ Risultato corretto Segni concordi. 70= Risultato scorretto (140 è fuori dal ____ ________ range):OVERFLOW
15 © 1999 Roberto Bisiani Numeri frazionari n Fixed point
16 © 1999 Roberto Bisiani Numeri frazionari n Floating point come la notazione scientifica esponenziale n Aumenta la gamma di valori rappresentabili n Diminuisce e dimenta variabile la precisione: NON TUTTI I VALORI SONO RAPPRESENTABILI!!!!!!! Esempio: si puo rappresentare come: *10^4= *10^3=...= *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 n Standard IEEE 754 Singola precisione, 32 bit Doppia precisione, 64
19 © 1999 Roberto Bisiani Standard floating point n I numeri sono sempre normalizzati, cioe la parte frazionaria e del tipo 1.xxxxxxxxx…. n Il primo 1 non viene rappresentato perche implicito n Lo zero si rappresenta con un esponente e frazione a zero
20 © 1999 Roberto Bisiani Rappresentazione dellesponente n Biased, cioe spostata di meta della precisione possibile n Esempio: se lesponente e di 8 bit invece di rappresentare lesponente in complemento (da –128 a +127) lo si rappresenta come: Esponente reale Quindi lesponente reale –128 viene rappresentato come 0, lesponente reale 0 come 128 n 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 n A cosa corrisponde questo numero? n Il bit di segno è 1, mentre il campo esponente contiene 129 e il campo significant contiene 1x2^-2: il numero corrispondente alla notazione è quindi x 2^2, che corrisponde al numero decimale x 4=-5.0