Rappresentazione dei numeri razionali
Rappresentazione dei razionali Bisogna rappresentare la posizione della virgola Notazione in virgola mobile: tre campi Esempio con 8 bit: Bit piu’ a sinistra: segno (o pos., 1 neg.) Tre bit per esponente Quattro bit per mantissa Es.: 01101011 positivo, 110 esponente, 1011 mantissa Mantissa: virgola alla sinistra dell’1 piu’ a sinistra: 0,1011 Esponente: notazione in eccesso 4 2 sposto la virgola a destra di 2 bit 10,11, cioe’ 2.75
Struttura della rapresentazione
Altro esempio di decodifica 10111100 Segno: 1 negativo Mantissa: 1100 0,1100 Esponente: 011 -1 in notazione in eccesso 4 virgola a sinistra d 1 posto => 0,01100 (3/8) Numero rappresentato: -3/8
Codifica Vogliamo memorizare 1 1/8 Notazione binaria: 1.001 Mantissa: 1001 (dall’1 piu’ a sinistra) Esponente: virgola da spostare 1 bit a desra deve rappresentare il numero 1 in notazione in eccesso 4 101 Bit di segno: 0 Risultato: 01011001
Errori di troncamento Codifichiamo 2 5/8 in 8 bit Binario: 10,101 Mantissa: vorremmo scrivere 10101, ma abbiamo solo 4 bit 1010 Esponente: 110 (-2) Risultato: 01101010, che rappresenta 2.5 e non 2 5/8
Errore di troncamento
Altri errori di troncamento In binario con virgola, maggior quantita’ di numeri con rappresentazione illimitata rispetto al decimale (es. 1/3 in decmale, anche 1/10 in binario) Esempio: 2.5 + 1/8 + 1/8, notazione in virgola mobile su 8 bit Da destra a sinistra: 2.5+1/8 = 2 5/8 = 10,101, ma codifichiamo 2.5, poi somma di 1/8 con nuovo errore sempre 2.5 Da sinistra a destra: 1/8+1/8=1/4 = 0,01 = 00111000 (esatto), poi somma ¼+2.5=2 ¾=01101011 (esatto) Ordine della somma importante: numero molto grande + numero molto picolo il piccolo puo’ essere troncato sommare prima i piu’ piccoli
Esercizi Decodifica: 01001010, 01101101, 00111001 Codifica: 2.75, 5.25 Qual e’ il piu’ grande tra 01001001 e 00111101? Valore piu’ grande e piu’ piccolo?
Esercizi dare la rappresentazione in virgola mobile normalizzata dei valori 0.5, 1.5 e 10.543 avendo 8 bits per l’esponente e 8 per la mantissa.