Gibt es einen nativen C++ - Variablentyp, der "größer" ist als ein Double?
Float ist 7
Double ist 15 (natürlich abhängig vom Compiler)
Gibt es etwas Größeres, das nativ ist, oder sogar nicht-native?Was ist größer als ein Doppel?
Antwort
C++ hat long double
, aber es gibt keine Garantie, dass es genauer ist als ein einfacher double
. Auf einer x86-Plattform sind normalerweise double
64 Bit und long double
entweder 64 oder 80 Bit (was 19 signifikante Zahlen ergibt, wenn ich mich recht erinnere).
Ihre Laufleistung kann variieren, besonders wenn Sie nicht auf x86 sind.
lang doppelt, aber es ist in der Regel immer noch 15 Stellen der Genauigkeit zu.
Es gibt auch einige verschiedene Bigfloat/Bigint-Bibliotheken für C++, die eine beliebig genaue Mathematik ermöglichen. Es gibt this Bibliothek auf Microsoft Codeplex, aber Googling finden Sie viele andere.
Sie können GNU MP verwenden. Seine floating-point functions haben unbegrenzte Mantisse und 32-Bit oder 64-Bit (abhängig von der nativen Wortgröße) Exponent. Es kommt auch mit einem C++ wrapper.
C++ hat lange doppelte, aber es ist immer noch sehr begrenzt. Probieren Sie GNU's gmp library aus. Sie können Zahlen so groß wie Sie möchten, und es ist ziemlich lustig und hackishly, wenn Sie gmp_add anstelle von einem normalen + verwenden. Ich bin mir sicher, dass es irgendwo einen C++ - Wrapper gibt.
Eine lange doppelte verwendet in der Regel nur 10 Bytes, aber aufgrund der Ausrichtung möglicherweise tatsächlich 12 oder 16 (abhängig von den Compiler und Optionen) Bytes in einer Struktur.
Das 10 Byte lange Double liefert eine 64-Bit-Mantisse; Dies ist sehr praktisch, wenn Sie 64-Bit-Ganzzahlen in Gleitkomma ohne Genauigkeitsverlust speichern möchten.
Warum wurde das abgelehnt? Ist es falsch? –
lange lange Doppel nur einige CPUs ermöglicht es Ihnen, es aber zu verwenden ...
-Boost 1,53 oder höher mehrfach hat.
http://www.boost.org/doc/libs/1_54_0/libs/multiprecision/doc/html/index.html
- 1. imageView ist größer als parrent
- 2. Überprüfen, ob ein NSDate größer ist als ein anderer
- 3. Was bedeutet => in JavaScript? (ist größer als)
- 4. Ist alles größer als Keines?
- 5. Ist 000,000,000.00 größer als Null?
- 6. C: Was bedeutet es, dass ein Doppel == -0 ist?
- 7. Größer als ein Char, aber kleiner als ein Blob
- 8. MySQL Wo ist das Datum größer als ein Monat?
- 9. Mindest Subarray, die größer als ein Schlüssel
- 10. Wie grep für ein Größer als Symbol?
- 11. Überprüfen, ob ein Datum größer als das angegebene Datum ist
- 12. ionic - Liste ist etwas größer als Container
- 13. CSS - Karte größer machen, als sie ist
- 14. MySQL Count Name größer als ein Wert
- 15. Log-Verlust-Ausgabe ist größer als 1
- 16. Ein Wert größer als ULong? Rechnen 100!
- 17. validieren, wenn ein anderes Feld größer als
- 18. ggplot Legendenliste ist größer als Seite
- 19. C# NaN als Doppel
- 20. Größer als weniger, Python
- 21. MySQL Wo DateTime größer ist als heute
- 22. Wie ist 1 größer als 4?
- 23. Android: TargetFrameworkVersion ist größer als mein Projekt
- 24. vergleichen, wenn BigDecimal größer als Null ist
- 25. Javascript ist nicht größer als 0
- 26. Warum ist 1 nicht größer als -0x80000000
- 27. Wenn mysql_num_rows größer als 0 ist
- 28. Timediff ist größer als 2 Minuten
- 29. Ist ein Doppel wirklich ungeeignet für Geld?
- 30. Test, um sicherzustellen, dass die Benutzereingabe doppelt ist und größer als Null ist?
Ich denke, in der Regel von Schwimmer als 4 und doppelt so 8, aber Sie sind auf die ungefähre Anzahl der Dezimalstellen bezieht, während ich verwendet, um die Anzahl von Bytes mich beziehe. –
Ein Triple! (bah dum, chh!) – Thanatos