La norma IEEE-754 definisce l'aritmetica decimale al fine di evitare errori di arrotondamento quando si utilizzano numeri in virgola mobile di base dieci (vedere ad esempio decimal64 on wikipedia). C'è un modo per usare questa aritmetica decimale in C o C++?Aritmetica decimale in C o C++?
risposta
TR 24733 specifica il calcolo matematico decimale in virgola mobile per C++, basato su IEEE-754. Il TR indica che si tratta di un rapporto tecnico, quindi non fa parte dello standard C++. GCC afferma di avere uno implementation parziale. Al momento è in corso una proposta per aggiungerla allo standard C++, ma nel giro di alcuni anni è meglio.
+1, grazie Pete per il tuo prezioso contributo. È davvero potente avere membri/designer di commissione a bordo di un sito di garanzia della qualità. – sehe
@sehe - prego. –
- 1. eccezione aritmetica in C#
- 2. Aritmetica decimale esatta in Julia
- 3. aritmetica dei puntatori In C
- 4. C++ offsetof char * aritmetica
- 5. C puntatore nullo aritmetica
- 6. Aritmetica C++ se operatore
- 7. C aritmetica dei puntatori
- 8. Numero Oracle a C# decimale
- 9. Tipo decimale in Qt (C++)
- 10. C# serializzare decimale xml
- 11. Operazione aritmetica su array statici molto grandi in C/C++
- 12. sintassi decimale variabile C++
- 13. Aritmetica punto fisso in programmazione C
- 14. C# separatore decimale?
- 15. Aritmetica puntatore C per gli array
- 16. C aritmetica dei puntatori sizeof (struct)
- 17. C# galleggiante alla conversione decimale
- 18. Come rappresentare 0,1 in virgola mobile aritmetica e decimale
- 19. efficiente convertire tra Hex, binario e decimale in C/C++
- 20. C# moltiplicazione decimale comportamento strano
- 21. L'arrotondamento decimale C# è incoerente?
- 22. conversione da decimale a int in C#
- 23. Rotondo al 1 decimale in C#
- 24. Generazione di un decimale casuale in C#
- 25. Moving decimale a destra in c
- 26. virgola decimale o virgola decimale in Android
- 27. valuta un'espressione aritmetica memorizzata in una stringa (C#)
- 28. Esiste supporto per aritmetica di precisione arbitraria in C#?
- 29. Aritmetica stile Bash C con valore in virgola mobile
- 30. Posso fare aritmetica sui puntatori * vuoti in C?
Utilizzare una libreria. libgmp, mpfr, Boost Multiprecision – sehe
Lo standard C non ha tipi decimali decimali espliciti, ma [GCC fornisce questo] (http://gcc.gnu.org/onlinedocs/gcc/Decimal-Float.html). Esistono molteplici rappresentazioni binarie in competizione; Credo che GCC risolva la rappresentazione su ogni piattaforma supportata. –
I formati decimali definiti in IEEE-754 non evitano errori di arrotondamento. (Prova, ad esempio, 10/3) –