Haskell: Unerwartete Ausgabe für Ausdruck [0, 0.1 .. 1]

8

Bei der Auswertung des Ausdrucks:

%Vor%

Ich habe tatsächlich erwartet:

%Vor%

Aber ich war ziemlich schockiert zu sehen, dass die Ausgabe

ist %Vor%

Warum produziert Haskell dieses Ergebnis nach Auswertung?

    
Carlos 19.02.2011, 04:49
quelle

2 Antworten

19

Dies ist ein Ergebnis der Ungenauigkeit von Fließkommawerten , es ist nicht speziell für Haskell. Wenn Sie nicht mit der Gleitkommazahl umgehen können, können Sie Rational zu hohen Kosten:

%Vor%

Nur um den Punkt nach Hause zu hämmern, hier ist Python:

%Vor%

Und hier ist C:

%Vor%     
Thomas M. DuBuisson 19.02.2011, 05:00
quelle
3

Siehe dieser andere Beitrag . Wie es heißt, sind Gleitkommazahlen in der CPU nicht genau.

    
Avilo 19.02.2011 05:01
quelle