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:(