Java Hangs When Converting 2.2250738585072012e-308 – Exploring Binary

Java Hangs When Converting 2.2250738585072012e-308. PHP ebenfalls. Des Rätsels Lösung in beiden Fällen: die Zahl ist die kleinste darstellbare Zahl in double floats und für die Konvertierung werden in Java und PHP Näherungen ermittelt, aber bei diesen werden ungünstige Werte als Start angenommen – und damit ergeben sich Endlosschleifen, weil der Zielwert nie erreicht wird. Und ja, das ist kritisch, weil man damit Server in eine Schleife schicken kann, wenn man diese Zahlenwerte in Eingebefelder die zu double float konvertieren eingibt. Mit Python hab ich es auch mal probiert (CPython und PyPy), aber die rennen nicht in eine Schleife, die liefern einfach einen etwas anderen Wert.

Dieser Beitrag wurde unter Asides abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.