Der Martin: Typumwandlung 2 x 16 Bit Word zu 1 x 32 Bit Fließkomma

Beitrag lesen

Hallo,

Du stehst vor einer Aufgabe, die meines Wissens in Javascript nicht lösbar ist.
"nicht lösbar" würde ich nicht sagen, schließlich kriegen es andere Programmiersprachen ja hin, und auch Javascript ist turing-komplett - "irgendwie" wird es also gehen.

ja okay, "irgendwie" schon. Aber mit gewissen Einschränkungen.

Es geht nur nicht über den Hacker-Trick, zwei Integer-Werte in den Speicher zu schreiben und als Float-Wert wieder daraus auszulesen.

Ich würde es nicht als Hacker-Trick bezeichnen, sondern eher als die natürliche Methode, wenn man einen Speicher- oder Registerinhalt einfach als etwas anderes interpretiert, als es ursprünglich gemeint war.

Man muss sich eine Funktion schreiben, die die Umrechnung von Integer in IEEE-Float manuell vornimmt. Und das dürfte etwas komplizierter werden.

Ja, zumal man auf diese Weise nur "korrekte" Werte gemäß IEEE 754 hinbekommt. Erhält man vom Remote-System aber fehlerhafte oder denormalisierte Werte, kann man sie nicht exakt rekonstruieren, man erhielte bestenfalls die gleichwertige normalisierte Darstellung oder NaN. Die Sonderfälle +INF und -INF kann man dagegen gezielt "herstellen", indem man einfach die entsprechenden Konstanten des Number-Objekts liest.

Ciao,
 Martin

--
Wichtig ist, was hinten rauskommt.
  (Helmut Kohl, 16 Jahre deutsche Bundesbirne)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(