Welche Genauigkeit haben die Gleitkommazahlen in Python? Ist es immer doppelt präzise oder ist es Implementierung oder plattformspezifisch? Unterscheidet es sich beispielsweise in CPython und PyPy?Genauigkeit von Gleitkommazahlen
Antwort
Von Python Dokumentation:
Gleitkommazahlen werden in der Regel implementiert Doppel in C; Informationen über die Präzision und interne Darstellung von Gleitkommazahlen für die Maschine, auf der das Programm Laufen ist in sys.float_info verfügbar.
sys.float_info ist eine Struktursequenz, die Informationen über den Float-Typ enthält. Es enthält Informationen auf niedriger Ebene über die Genauigkeit und die interne Darstellung.
import sys
print(sys.float_info.mant_dig)
mant_dig
Attribut auf Schwimmers Präzision: die Anzahl der basen radix Ziffern in der Mantisse eines Schwimmers
fast allen Plattformen Karte Python zu IEEE 754 Doppel Präzision schwimmt.
Danke! Ja, ich kenne 'sys.float_info', das Problem ist das" normalerweise ". Ich könnte die Frage umkehren, wann ist es nicht C-Double? –
@EcirHana: Für CPython ist es * immer * C doppelt. Das ist in der [CPython-Quelle] fest programmiert (https://github.com/python/cpython/blob/3.6/Include/floatobject.h#L17). –
Ja, das ist gut genug für mich. (Obwohl es nett wäre, einen Link zu einer offiziellen Python-Dokumentation zu haben). Habe eine Verbesserung. – Bathsheba
import sys
sys.float_info
sys.float_info (max = 1.7976931348623157e + 308 = 1024 max_exp, max_10_exp = 308 min = 2.2250738585072014e-308, min_exp = -1021, min_10_exp = -307, dig = 15, mant_dig = 53 Radix, epsilon = 2.220446049250313e-16, = 2, Runden = 1)
hier gefunden: https://docs.python.org/3/library/stdtypes.html#typesnumeric Sec 4.4
Hilft Ihnen das?
- 1. Beliebige Genauigkeit Gleitkommazahlen auf JavaScript
- 2. Erhöhung der Genauigkeit der Gleitkommazahlen
- 3. Lua - Verpackungs IEEE754 einfache Genauigkeit Gleitkommazahlen
- 4. CUDA und doppelte Genauigkeit Gleitkommazahlen arithmetics
- 5. BigQuery GROUP_CONCAT lässt die Genauigkeit der Gleitkommazahlen fallen
- 6. Richtiger Weg, um Gleitkommazahlen einfacher Genauigkeit in Python zu emulieren?
- 7. C++ doppelt mehr Genauigkeit/Genauigkeit
- 8. Wie Drucken von Arrays aus mehreren Datenformaten mit der Steuerung der Genauigkeit von Gleitkommazahlen in Python?
- 9. Gleitkommazahlen in Programmiersprache C
- 10. PHP - Serialisieren von Gleitkommazahlen
- 11. C - Hinzufügen von zwei Gleitkommazahlen mit einfacher Genauigkeit, Ergebnis kann nicht unendlich sein
- 12. Speichern von Ints als Gleitkommazahlen
- 13. Wie lese ich Gleitkommazahlen halber Genauigkeit aus einer Metal-Textur mit Swift?
- 14. Intel AVX: Warum gibt es keine 256-Bit-Version eines Punktprodukts für Gleitkommazahlen mit doppelter Genauigkeit?
- 15. Genauigkeit von float32
- 16. Genauigkeit von myLocationOverlay abrufen
- 17. Genauigkeit von tf.metrics.mean_squared_error
- 18. Genauigkeit von Task.Delay
- 19. Globale Formatierungsoptionen für Gleitkommazahlen
- 20. Gleitkommazahlen in Set speichern?
- 21. Java Interpolationssuche mit Gleitkommazahlen
- 22. Gleitkommazahlen im Stapel sortieren
- 23. Messung der VAR-Genauigkeit mit Genauigkeit() von der Prognose
- 24. Gleichheit bei Gleitkommazahlen, eingegeben von Benutzer
- 25. Abtastung von allen möglichen Gleitkommazahlen in D
- 26. Nixdorf 8812 Gleitkommazahlen
- 27. Gleitkommazahlen in c
- 28. Vergleich Gleitkommazahlen in bash
- 29. Hat JavaScript doppelte Gleitkommazahlen?
- 30. Vergleich Gleitkommazahlen in D
Gute Frage. (Bitte nicht runter!). Um Farbe hinzuzufügen, ist es in C und C++ implementierungsspezifisch. In Java muss es IEEE754 sein. Was python angeht, habe ich keine Ahnung. Ein kurzes Google beleuchtet dies (für mich) auch nicht. – Bathsheba
Überprüfen Sie dies für CPython2: https://docs.python.org/2/tutorial/floatingpoint.html – MYGz
Es gibt einen Hinweis hier http://floating-point-gui.de/languages/python/. Die oberste Zeile "Fast alle Plattformen zuordnen Python schwebt nach IEEE 754 doppelte Genauigkeit.". Es sieht also so aus, als wäre es dasselbe wie C und C++. – Bathsheba