Page 1 of 1

Data representation

Posted: Thu Nov 01, 2012 9:00 pm
by Disparv
Kan iemand mij zeggen of deze antwoorden op oef.5 juist zijn?
En hoe je 'f' en 'g' berekent?

Code: Select all

a) +1.011 * 2^4
b) -1.0 * 2^1
c) -infinite
d) -0.0 * 2^0
e) +NaN
f)
g)

Re: Data representation

Posted: Thu Nov 01, 2012 11:18 pm
by Flipper
a en b kloppen niet, je moet van de exponent nog de bias (127) aftrekken. Je exponenten zijn trouwens niet eens juist, je leest die 0'en en 1'en van links naar rechts, terwijl je van rechts naar links moet lezen en begint te tellen vanaf 0. (of, als je toch per se van links naar rechts wilt lezen, dan moet dat in dalende machten van 2 en naar 0 (d.i. de laatst gebruikte macht is een 0)).

c, d en e kloppen dan weer wel, maar da's dan ook de gemakkelijkste IEEE-754 :P

Re: Data representation

Posted: Fri Nov 02, 2012 7:23 pm
by Disparv
Kan iemand mij uitleggen hoe oefening 5 moet worden opegelost? Snap er niets van :p

Re: Data representation

Posted: Sat Nov 03, 2012 1:36 am
by Flipper
Kijk, beschouw de volgende IEEE-754 single precision:

Code: Select all

1 00001001 01100000000000000000000
Het eerste deel vertelt je of het hier om negatieve getal gaat of niet (maar dat had je waarschijnlijk al snel door. (0 = positief, 1 is negatief)

Het tweede deel vertelt iets over de exponenten, om dat te achterhalen zet je ze om in basis 10 op de volgende manier:

0 . 2^7 + 0 . 2^6 + 0 . 2^5 + 0 . 2^4 + 1 . 2^3 + 0 . 2^2 + 0 . 2^1 + 1 . 2^0 = 8 + 1 = 9

Merk op: de machten zijn in dalende volgorde naar 0! (als je van links naar rechts leest.)

WACHT! Dit is niet je exponent! Want de exponenten zijn in excess 127 geschreven, dat betekent dat je van dit getal nog 127 (de bias) van moet aftrekken:

9 - 127 = -118

Dit is je uiteindelijke exponent van het grondtal 2 (ja, 2, niet 10).

Het derde deel is het "genormaliseerde" binaire fractie, dat wil zeggen dat de fractie tussen 0 en 1 ligt, in feite staat er dus:

1.0110000....

Merk op: de "1" die voor het binaire punt staat, wordt niet in IEEE-754 geschreven, let hier dus op dat je bij het uitschrijven van de antwoord nog een 1 moet bijzetten.

Het uiteindelijke antwoord is dus:

Code: Select all

1 00001001 01100000000000000000000 = -1.011 . 2^-118
Hopelijk al wat duidelijker nu? :P

Re: Data representation

Posted: Sat Nov 03, 2012 11:46 am
by Disparv
ja bedankt, maar dan is a, en b tog wel juist:
a =

Code: Select all

0 100000011 01100000000000000000000
1) het is dus een positief getal
2) 10000011 = 131 - 127 = 4 (exponent is dus 4)
3) fractie = 011 = 1.011

= + 1.011 * 2^4

Re: Data representation

Posted: Sat Nov 03, 2012 1:49 pm
by Flipper
Oh sorry, ik had 1 bit teveel geteld, pffff :facepalm: