Als «floating-point» getaggte Fragen

Gleitkommazahlen sind Annäherungen an reelle Zahlen, die größere Bereiche als Ganzzahlen darstellen können, jedoch auf Kosten einer geringeren Genauigkeit dieselbe Speichermenge verwenden. Wenn es bei Ihrer Frage um kleine Rechenfehler (z. B. warum entspricht 0,2 + 0,1 gleich 0,300000001?) Oder um Dezimalumwandlungsfehler geht, lesen Sie bitte die unten verlinkte Seite "Info", bevor Sie Beiträge veröffentlichen.


10
Konvertieren Sie Float in Double, ohne an Präzision zu verlieren
Ich habe einen primitiven Float und ich brauche als primitiven Double. Wenn ich den Schwimmer einfach verdopple, bekomme ich seltsame zusätzliche Präzision. Beispielsweise: float temp = 14009.35F; System.out.println(Float.toString(temp)); // Prints 14009.35 System.out.println(Double.toString((double)temp)); // Prints 14009.349609375 Wenn ich jedoch anstelle des Castings den Float als String ausgeben und den String als …



6
Wie viele doppelte Zahlen gibt es zwischen 0,0 und 1,0?
Das ist etwas, woran ich seit Jahren denke, aber ich habe mir nie die Zeit genommen, danach zu fragen. Viele (Pseudo-) Zufallszahlengeneratoren erzeugen eine Zufallszahl zwischen 0,0 und 1,0. Mathematisch gesehen gibt es in diesem Bereich unendlich viele Zahlen, die jedoch doubleeine Gleitkommazahl sind und daher eine endliche Genauigkeit haben. …

18
Einfaches hübsches Drucken von Floats in Python?
Ich habe eine Liste von Schwimmern. Wenn ich es einfach printmache, zeigt es sich so: [9.0, 0.052999999999999999, 0.032575399999999997, 0.010892799999999999, 0.055702500000000002, 0.079330300000000006] Ich könnte verwenden print "%.2f", was eine forSchleife erfordern würde , um die Liste zu durchlaufen, aber dann würde es für komplexere Datenstrukturen nicht funktionieren. Ich hätte gerne so …




2
Ist diese Gleitkommaoptimierung zulässig?
Ich habe versucht herauszufinden, wo floatdie Fähigkeit verloren geht, große Ganzzahlen genau darzustellen. Also habe ich diesen kleinen Ausschnitt geschrieben: int main() { for (int i=0; ; i++) { if ((float)i!=i) { return i; } } } Dieser Code scheint mit allen Compilern außer clang zu funktionieren. Clang erzeugt eine …



4
Was ist das nächste Doppel zu 1.0, das ist nicht 1.0?
Gibt es eine Möglichkeit, programmgesteuert das Double zu erhalten, das 1.0 am nächsten kommt, aber nicht 1.0 ist? Ein hackiger Weg, dies zu tun, wäre, das Double auf eine gleich große Ganzzahl zu speichern und dann eine zu subtrahieren. So wie IEEE754-Gleitkommaformate funktionieren, würde dies dazu führen, dass der Exponent …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.