






Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti su floating point/Virgola mobile di informatica
Tipologia: Schemi e mappe concettuali
1 / 11
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







Notazione in “virgola mobile”
mantissa esponente base
esempi
34.76 × 104 3.6891 × 106 = 36.891 ×105 =368.91 × 104 12.78 × 10- 1.6273 × 102
forma normalizzata: la mantissa ha una sola cifra (≠0) prima del punto.
Quando la base è 2 la forma normalizzata è:
yyyy (^) esponente
rappresentazione in base 2 della “parte significativa” della mantissa
IEEE 754 floating-point standard
s esponente + bias parte significativa 8 bit 23 bit
parte significativa della mantissa normalizzata segno del numero 1 bit rappresentazione segno + modulo bias = 127 (to bias ~ influenzare) biased exponent / biased notation 0111 1111 2 = 127 rappresentazione senza segno
0111 1110 2 = 26 + 25 + 24 + 23 + 22 + 21 = 126
0111 1110 2 = 26 + 25 + 24 + 23 + 22 + 21 = 126
Overflow e Underflow
Quali numeri si possono rappresentare con la notazione introdotta?
L’ overflow avviene quando l’esponente è troppo grande e non è più rappresentabile con gli 8 bit assegnati. Il valore piu' grande possibile sarebbe:
1111 1111 2 – 127 10 =( 2^8 – 1) – 127 10 = 255 –127 = 128
In realtà l’esponente 1111 1111 2 viene riservato per indicare situazioni anomale. Quindi
Si può verificare anche la situazione opposta ( undeflow ): l’esponente diviene “troppo piccolo”. Il piu' piccolo valore rappresentabile sarebbe
0000 0000 2 – 127 10 = – 127 10
ma anche in questo caso la rappresentazione 0000 0000 2 viene riservata alla rappresentazione dello zero, quindi
rappresenta lo zero (N.B.: non c’e’una forma normale per lo zero)
s esponente + 1023 parte significativa - inizio 11 bit 20 bit
continuazione parte significativa 32 bit
Quale è la rappresentazione in doppia precisione del numero
Arrotondamento
Puo’esserci arrotondamento solo se nelle operazioni intermedie il numero delle cifre memorizzate e’superiore a quello definitivo.
Esempio. (Continuiamo a supporre di non poter memorizzare più di 4 cifre)
0.015 57 × 10 - 1.983 × 10 -
1.998 57 × 10 -
Risultato arrotondato: 1.999 × 10 -
Troncando prima di sommare si avrebbe:
0.015 × 10 - 1.983 × 10 -
1.998 × 10 -
Osservazione: l’arrotondamento può richiedere un’ulteriore normalizzazione.
Esempio. 9.9995 × 10 2 = 10.000 × 10 2 = 1.000 × 10 3
Bit di Bit diguardia arrotondamento
Esempio con numeri binari 1.000 × 2 -1^ + - 1.110 × 2 -
Passo 1. Portiamo i due numeri allo stesso esponente scegliendo l’esponente più grande tra i due ( in questo caso -1 ).
Passo 2. Sommiamo le mantisse.
1.000 + (-0.111) = 0.
Passo 3. Normalizziamo (controllando overflow o underflow)
Passo 4. Arrotondiamo (e se necessario normalizziamo nuovamente).
( in questo caso non c’è nulla da fare )
==============================================
Osservazione. Si considerino 1.001 × 2 0 e - 1.111 × 2 –2^ e si supponga di non poter memorizzare piu' di 4 cifre (in questo esempio non consideriamo i bit di guardia e di arrotondamento)
esponente comune 2 : 1.001 × 2 0 - 0.01111× 2 0
esponente comune –2 : 100.1 × 2 -2^ - 1.111 × 2 –
Dopo l'allineamento, nel primo caso viene trascurato 2 –5^ mentre
nel secondo caso si trascura 2 –4^ + 2 –.
Esempio (base 10)
Supponiamo di non poter memorizzare più di 4 cifre.
(**) Se si usa la notazione biased si deve tener conto del fatto che il valore memorizzato è stato incrementato della quantità bias
Ad esempio con bias =127 il valore memorizzato nei bit dedicati all’esponente sarebbe stato:
In questo caso, per ottenere l’esponente corretto del risultato bisogna calcolare (137 –127) + (122 – 127) + 127 = 132 (= 5 + 127)
Esempio con numeri binari 1.0000 × 2 -1^ × - 1.1100 × 2 -
0 0111 1110 000000000000000… … … …. 1 0111 1101 110000000000000… … … ….
Calcolo esponente.
0111 1110 126 + 0111 1101 125 = 251 –127 = 124
Nuovo esponente: 0111 1100
Calcolo prodotto mantisse.
Normalizzazione e controllo overflow e/o underflow. è a posto
Arrotondamento.
0111 1100 1100000000… … … … .. Segno
1 0111 1100 1100000000… … … … ..