• Non ci sono risultati.

ESERCIZIvari su numeri reali standard IEE754

N/A
N/A
Protected

Academic year: 2021

Condividi "ESERCIZIvari su numeri reali standard IEE754"

Copied!
21
0
0

Testo completo

(1)

Fondamenti di Informatica - 1

Esercizi

(2)
(3)
(4)
(5)
(6)

Esercizio

Dato il numero

11000000111100000000000000000000

rappresentato secondo lo standard floating point IEEE

754 determinare il corrispondente valore decimale.

(7)

Soluzione

Dato il numero

11000000111100000000000000000000

rappresentato secondo lo standard floating point IEEE

754 determinare il corrispondente valore decimale.

Soluzione

1 1000 0001

111 0000 0000 0000 0000 0000

s

esponente

mantissa

-1 * (1.

mantissa

) * 2

(esponente-127)

-1 * (1

.111

) * 2

(129-127)

-1 * (1

.111

) * 2

(2) =

-111.1 = -7.5

(8)

Esercizio

Calcolare gli estremi degli intervalli di definizione dei numeri

secondo lo standard IEEE 754 a 32 bit considerando le

configurazioni speciali dell’esponente .

mantissa esponente 00000000 11111111 00000……000 Zero ±∞ ≠00000…..000 Numero denormalizzato NaN

(9)

Soluzione

Calcolare gli estremi degli intervalli di definizione dei numeri

secondo lo standard IEEE 754 a 32 bit considerando le

configurazioni speciali dell’esponente .

Più grande normalizzato: ~±2128

X 11111110 11111111111111111111111

± 2127 ~2 (1.11111……11 ≈ 2 )

Più piccolo normalizzato: ±2-126

X 00000001 00000000000000000000000

± 2-126 1 (1.00000…..0 )

Più grande denormalizzato: ~ ±2-126

X 00000000 11111111111111111111111

± 2-126 ~ 1 (0.111111...1 ≈ 1)

Più piccolo denormalizzato: ±2-149

X 00000000 00000000000000000000001

± 2-126 2-23 (0.00...1= 2-23 )

(10)

Soluzione

Calcolare gli estremi degli intervalli di definizione dei numeri

secondo lo standard IEEE 754 a 32 bit considerando le

configurazioni speciali dell’esponente .

Più grande normalizzato: ~±2128

X 11111110 11111111111111111111111

± 2127 ~2 (1.11111……11 ≈ 2 )

Più piccolo normalizzato: ±2-126

X 00000001 00000000000000000000000

± 2-126 1 (1.00000…..0 )

Più grande denormalizzato: ~ ±2-126

X 00000000 11111111111111111111111

± 2-126 ~ 1 (0.111111...1 ≈ 1)

Più piccolo denormalizzato: ±2-149

X 00000000 00000000000000000000001

± 2-126 2-23 (0.00...1= 2-23 )

(11)

Esercizi

Convertire in binario i seguenti numeri in base 10:

1. 0.5

10

=

2. 0.25

10

=

3. 0.125

10

=

4. 0.0625

10

=

(12)

Soluzione

Convertire in binario i seguenti numeri in base 10:

1. 0.5

10

= 0.1

2

2. .25

10

= 0.01

2

3. .125

10

= 0.001

2

4. .0625

10

= 0.0001

2

(13)

Svolgimento esercizi 1 e 4

1)0.5

10

.

5*2=1 parte intera=1 parte frazionaria restante =0

.5

10

= (.1)

2

4)0.0625

10

.0625*2= 0.125 parte intera=0 parte frazionaria restante=0.125

.125*2=0.25 parte intera=0 parte frazionaria restante=0.25

.25*2=0.5 parte intera=0 parte frazionaria=0.5

.5*2=1 parte intera=1 parte frazionaria = 0

.0625

10

= (.0001)

2

(14)

Esercizio

Convertire in binario i seguenti numeri decimali

a) 17.5625

10

=

b) 26.1875

10

=

(15)

a) 17.5625

10

Per la parte intera:

17/2=8 resto 1

8/2=4 resto 0

4/2 = 2 resto 0

2/2 = 1 resto 0

1/2 = 0 resto 1

(17)

10

= (10001)

2

Per la parte decimale:

.5625*2= 1.125 parte intera=1 parte frazionaria restante=0.125

.125*2=0.25 parte intera=0 parte frazionaria restante=0.25

.25*2=0.5 parte intera=0 parte frazionaria=0.5

.5*2=1 parte intera=1 parte frazionaria = 0

.5625

10

= (.1001)

2

Sommando i risultati 17.5625

10 =

(10001.1001)

2

21/03/2012 15

(16)

21/03/2012 16

b) 26.1875

10

Per la parte intera:

26/2=13 resto 0

13/2=6 resto 1

6/2 = 3 resto 0

3/2 = 1 resto 1

1/2 = 0 resto 1

(26)

10

= (11010)

2

Per la parte decimale:

.1875*2= 0.375 parte intera=0 parte frazionaria restante=0.375

.375*2=0.75 parte intera=0 parte frazionaria restante=0.75

.75*2=1.5 parte intera=1 parte frazionaria=0.5

.5*2=1 parte intera=1 parte frazionaria =0

.1875

10

= (.0011)

2

Sommando i risultati 26.1875

10 =

(11010.0011)

2

(17)

Esercizio

Data una parola di memoria di 32 bit organizzata come in figura:

1 bit per il segno,

8 bit per l'esponente rappresentato in codice eccesso 28-1

23 bit per la mantissa compresa tra 1 e 2 (standard IEEE754)

Trovare la rappresentazione binari del numero 331,6875

(18)

Soluzione

Il bit del segno sarà 0 in quanto N è positivo

Trasformo la parte intera del numero (ignorando il segno) in binario = 101001011 Trasformo la parte frazionaria (mantissa) del numero in binario =1011

Metto insieme la parte intera e frazionaria ottenendo il numero in virgola fissa. 101001011. 1011

Normalizzo il numero in virgola fissa ottenendo un numero che inizia per 1,... moltiplicato per 2spostamenti_virgola . Se sposto la virgola a sinistra l'esponente sarà positivo, se sposto la virgola a

destra l'esponente sarà negativo, se non la sposto l'esponente sarà zero. 1.010010111011*28

La parte dopo la virgola del numero normalizzato corrisponderà ai bit della mantissa. Se i bit sono di meno rispetto a quelli della codifica (23 in questo esempio) saranno aggiunti degli zeri fino ad arrivare al bit 23, se sono di più saranno ignorati i bit successivi al 23esimo.

Si somma K all'esponente ottenuto = 127+8=135 10 = 100001112, dove K=2bit_esponente-1-1 .

Il nuovo esponente è stato convertito in binario naturale a 8 bit (perché in precisione singola abbiamo 8 bit di esponente).

Il risultato sarà: [1bit segno][8bit esponente][23bit mantissa] 0 10000111 10010111011000000000000

(19)

21/03/2012 19

Rappresentare secondo lo standard IEEE 754 i seguenti valori:

a) 1.0

b) -1

c) 2

d) 0.5

e) 0.666666

f) 3.141593

(20)

Soluzione

Rappresentare secondo lo standard IEEE 754 i seguenti valori:

a) 1.0

• 0 01111111 0000000 00000000 00000000

b) -1

• 1 01111111 0000000 00000000 00000000

c) 2 = 1 × 2

1

• 0 10000000 0000000 00000000 00000000

d) 0.5 = 1 × 2

-1

• 0 01111110 0000000 00000000 00000000

e) 0.666666

• 0 01111110 0101010 10101010 10101010

f) 3.141593

• 0 10000000 1001001 00001111 11011100

21/03/2012 20

(21)

Svolgimento esercizio a)

a)1.0

Poiché il numero è positivo il primo bit è 0

Scriviamo il numero 1.0 in forma binaria ed è 1.0, spostiamo il . verso sinistra

lasciando un solo 1 alla sua sinistra e otteniamo 1.0*2

0

La mantissa è la parte a destra del punto fino a riempire i 23 bit

:

00000000000000000000000

L’esponente è pari a 0 ma dobbiamo adattarlo allo standard quindi 0+127 = 127 che

in binario è rappresentato con 1111111

Quindi la soluzione è:

0 01111111 0000000 00000000 00000000

Riferimenti

Documenti correlati

le parti concordano, che In caso di necessnà, verranno limunc Commissioni bila!er~h su specifici temi imll\ idU:Lti fra le parti medesime. pre,'io aflissione di avviso

Sia fissato nello spazio un sistema di riferimento cartesiano, e tramite di esso siano identificati i vettori dello spazio con terne ordinate di scalari.. Sia fissato nel piano

[r]

Calcolare le seguenti radici complesse a... Risolvere le seguenti

Per l articola ione interna dettagliata di ogni singola UDA (in particolare per gli aspetti in ariati, quali gli obietti i, le abilit e le competen e, i contenuti ma per

 Figli destro e sinistro di un nodo: nodi puntati dai link di quel nodo (padre)..  Sottoalbero destro e sinistro di

La conversione in binario pu` o essere interrotta una volta ottenute 24 cifre totali (comprensive di parte intera e parte frazionaria, considerando il bit nascosto) oppure una

[r]