Codifiche Interne Codifiche Interne I dati nella RAM Codifiche Interne Codifiche Interne By prof. Camuso
Testo … da fare … By prof. Camuso
numeri interi - rappresentazione Binario puro numeri interi - rappresentazione … da fare … By prof. Camuso
Binario puro numeri interi – base 8 e 16 … da fare … By prof. Camuso
Binario puro somme … da fare … By prof. Camuso
Binario puro sottrazioni … da fare … By prof. Camuso
Binario puro il problema del segno … da fare … By prof. Camuso
Complemento a 2 … da fare … By prof. Camuso
Binario puro numeri reali 1,34584562382827894226778899 54566756788788888678768835 12356788966908888678768835 1222227789338888867778768 54566756788788888678768835… By prof. Camuso
Binario puro / numeri reali 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
Binario puro / numeri reali 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
Binario puro / numeri reali 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
Binario puro / numeri reali Conversione da decimale a binario Terzo step: si uniscono i risultati: By prof. Camuso
Binario puro / numeri reali 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
Binario puro / numeri reali Conversione da binario a decimale A T T E 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
IEEE 754 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 Verso l’IEEE 754 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 Verso l’IEEE 754 La notazione scientifica By prof. Camuso
IEEE 754 By prof. Camuso
IEEE 754 By prof. Camuso
IEEE 754 By prof. Camuso
IEEE 754 – osservazione 1 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
IEEE 754 – osservazione 2-a 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
IEEE 754 – osservazione 2-a 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
IEEE 754 – esempio By prof. Camuso