[informatik-bonn] Re: [prama] blatt 3

  • From: Philipp Kirchner <mail@xxxxxxxxxxxxxxxxxx>
  • To: informatik-bonn@xxxxxxxxxxxxx
  • Date: Tue, 04 Nov 2003 19:39:37 +0100

Lutz Oberst schrieb:

Moin,
tach!

habt ihr schonmal Aufgabe 8 versucht? Ich kann die Ergebnisse in C zwar reproduzieren, aber irgendwie ist mir das garnicht klar. Warum soll den zB 1e-16 != 2e16 sein? Ich wuerde sagen

1e16 == 0,0..0|1 * 2^0 wird gerundet zu
Hier wird IMHO abgeschnitten, so das aus 1e-16 wieder 0 wird..

0,0..1 * 2^0

2e16 == 0,0..1|0 * 2^0

wobei links von | gerade das 53-te Bit der Mantisse steht.

Ich koennte ja noch verstehen wenn 1e-16 zu 0 gerundet
werden wuerde, aber dann waere ja auch (1- 1e-16)-1 == 0
Nein, ich glaube dass hier 1e-16 als negative Zahl aufgefasst wird, daher im 2er-Komplement gespeichert wird, das sollte durch die Addition mit 1 im 2er-Komplement diese Zahl im negativen möglich machen...

Und 1e-16 bzw 2e-16 nicht denormalisiert abzuspeichern geht auch nicht, da man ja auf den gleichen Exponenten wie den der 1 == 0,1..1 * 2^0 kommen muss.
siehe oben

aber kleine Frage an alle: wie stellt man die 1 den nun dar? mit 0 als Mantisse und 0 als Exponent wird das schwierig, so wie oben von Lutz vorgeschlagen? oder als 1,000.....1*2^0?
Das würde meine obigen Behauptungen eventuell über den Haufen schmeißen ;-)


Gruß Philipp


Other related posts: