esercitazione teoria n°3, esercizi 1-2

ESERCITAZIONE TEORIA N°3, ESERCIZI 1-2,
POLITECNICO DI TORINO SEDE DI MONDOVI’
SCAVINO ANDREA
1) Rappresentare i seguenti numeri, espressi in base dieci, nel formato floating point standard
IEEE-754:
-5.828125
3758.125
-23552.25
2) Convertire i seguenti numeri dal formato floating point standard IEEE-754 (espressi in base
sedici)
alla base dieci:
41340000H
C1140000H
D14D8000H
SOLUZIONI
Esercizio 1)
A_
-5.828125
Per convertire la parte intera da decimale a binario si procede dividendo il numero per 2:
5 : 2 = 2 Resto 1
2 : 2 = 1 Resto 0
1 : 2 = 0 Resto 1
Per convertire la parte frazionaria da decimale a binario si procede moltiplicando il numero per 2:
0,828125
0,65625
0,3125
0,625
0,25
0,5
0
x2=
x2=
x2=
x2=
x2=
x2=
x2=
1,65625
1,3125
0,625
1,25
0,5
1
0
Parte intera
Parte intera
Parte intera
Parte intera
Parte intera
Parte intera
Parte intera
1
1
0
1
0
1
0
Per cui il numero binario è 101.110101 che si può anche scrivere come 1.01110101* 22
Quindi :
segno =1 , esponente(prendo gli 8 bit successivi al bit del segno)(2+127)=10000001 ,
mantissa=01110101000000000000000
Il numero -5.828125 in floating point è 11000000101110101000000000000000
B_
3758.125
Per convertire la parte intera da decimale a binario si procede dividendo il numero per 2:
3758
1879
939
469
234
117
58
29
14
7
3
1
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
1879
939
469
234
117
58
29
14
7
3
1
0
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
0
1
1
1
0
1
0
1
0
1
1
1
Per convertire la parte frazionaria da decimale a binario si procede moltiplicando il numero per 2:
0,125
0,25
0,5
0
x2=
x2=
x2=
x2=
0,25
0,5
1
0
Parte intera
Parte intera
Parte intera
Parte intera
0
0
1
0
Il numero in binario è 111010101110.0010 che si può scrivere come 1.110101011100010* 211
Quindi :
segno =0 , esponente(prendo gli 8 bit successivi al bit del segno)(11+127)=(10+128)=10001010
mantissa=11010101110001000000000
Il numero 3758.125 in floating point è 01000101011010101110001000000000
C_
-23552.25
Per convertire la parte intera da decimale a binario si procede dividendo il numero per 2:
23552
11776
5888
2944
1472
736
368
184
92
46
23
11
5
2
1
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
:2=
11776
5888
2944
1472
736
368
184
92
46
23
11
5
2
1
0
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
Resto
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
Per convertire la parte frazionaria da decimale a binario si procede moltiplicando il numero per 2:
0,25
0,5
0
x 2 = 0,5
x2= 1
x2= 0
Parte intera 0
Parte intera 1
Parte intera 0
Il numero in binario è 101110000000000.010 che si può scrivere come 1.01110000000000010* 214
Quindi :
segno =1, esponente(prendo gli 8 bit successivi al bit del segno)(14+127)=10001101
mantissa=01110000000000010000000
Il numero -23552.25 in floating point è 11000110101110000000000010000000
Esercizio 2)
A_
41340000H
Numero in floating point= 01000001001101000000000000000000
segno=0
esponente(130-127)=310
numero=1011,012=11,2510
B_
C1140000H
Numero in floating point=11000001000101000000000000000000
segno=1
esponente(130-127)=310
numero=-1001,012=-9,2510
C_
D14D8000H
Numero in floating point=11010001010011011000000000000000
segno=1
esponente(162-127)=35
numero=1,10011011*235 = 110011.011*230= -51.325*109