By prof. Camuso
… da fare …
By prof. Camuso
… da fare …
By prof. Camuso
… da fare …
By prof. Camuso
… da fare …
By prof. Camuso
… da fare …
By prof. Camuso
… da fare …
By prof. Camuso
… da fare …
By prof. Camuso
1,34584562382827894226778899
54566756788788888678768835
12356788966908888678768835
1222227789338888867778768
54566756788788888678768835…
By prof. Camuso
Conversione da decimale a binario
NB: fissare prima quanti bit si
vogliono dopo la virgola
Decidiamo per 5 bit …
Cioè decidiamo che 0,476
verrà rappresentato
usando 5 bit
By prof. Camuso
Conversione da decimale a binario
Primo step: si trasforma, come già
sappiamo fare, la parte intera in
binario:
Numero da convertire
112,476
By prof. Camuso
Conversione da decimale a binario
Secondo step: si trasforma in binario la parte
decimale con l’algoritmo delle moltiplicazioni
per due successive:
By prof. Camuso
Conversione da decimale a binario
Terzo step: si uniscono i risultati:
By prof. Camuso
Conversione da binario a decimale
Si usa ancora lo sviluppo polinomiale (somma
potenze del due) ma usando potenze negative
per la parte decimale:
By prof. Camuso
Conversione da binario a decimale
ATTE N Z I O N E
A causa dell’approssimazione non è detto che
ritrasformando in decimale un numero
precedentemente convertito in binario si
riottenga esattamente il numero di partenza!
By prof. Camuso
Come già sperimentato per la
rappresentazione dei numeri negativi, anche
per quelli con la virgola gli organismi
internazionali(IEEE) hanno preferito stabilire
uno standar per rendere più efficienti i calcoli
e più semplici gli scambi di dati tra diverse
apparecchiature. E’ nato lo standard
IEEE 754
By prof. Camuso
La notazione scientifica
25.000
25 * 1000 = 25 * 10^3 = 25 E +3
2,5 E +4
0,25 E +5
250.000 E -1
By prof. Camuso
La notazione scientifica
By prof. Camuso
By prof. Camuso
By prof. Camuso
By prof. Camuso
Nella forma normalizzata il primo bit è sempre 1.
Cioè se il numero fosse (0,00001010)2
lo si normalizzerebbe trasformandolo in (1,010)2 x 2-5
Questo consente di ‘eliminare’ gli zeri inutili che precedono
la prima cifra (bit) significativa riuscendo così a
rappresentare un numero di bit dopo la virgola
superiore (miglioramento della precisione!)
Non solo: visto che nella forma normalizzata il bit alla sinistra
della virgola è sempre 1, inutile rappresentarlo! Useremo
tutti i bit per la parte dopo la virgola
By prof. Camuso
Se rappresentassimo gli esponenti negativi in complemento
a due riscontreremmo difficoltà nella comparazione dei
numeri.
Ad esempio
Il primo numero rappresenta ½ ed il secondo 2. Ma ½ avrebbe
come esponente una stringa di bit dal valore binario puro
molto alto (11111111) e 2 avrebbe invece una stringa di bit
dal valore binario puro molto più piccolo (00000001). Questo
renderebbe difficile realizzare dei confronti diretti basati
sulla grandezza dell’esponente
By prof. Camuso
Si preferisce allora sommare un valore (bias) che rende anche
il più piccolo esponente negativo positivo. Con 8 bit questo
valore è 127. In questo modo:
Ovviamente ‘si pagherà’ poi un prezzo: per ottenere il ‘vero’
numero dovremo sottrarre il bias dall’esponente; ma grazie
alla facilitazione sui confronti (operazione costosa e molto
frequente nei programmi) il bilancio è positivo
By prof. Camuso
By prof. Camuso
Scarica

Codifiche interne