Domanda

Ho appena iniziato a lavorare con MPFR precisione arbitraria biblioteca, e ben presto incontro molto strano comportamento.L'obiettivo principale di utilizzo era quello di migliorare la precisione di lagre argomento trigs e questo funziona molto bene in MPFR.

Ma poi ho deciso di controllare e semplice matematica era unbeleavable - anche in semplici esempi con rigorosa risposte errori di arrotondamento esiste e non dipende dalla precisione.

Anche nell'esempio di come 1.1 * 1 il risultato è 1.10000000000000008881784...E questo risultato è dato a folle 2000 bit di precisione (53 nel normale doppia)!

Forse è il mio sistema che è il problema, ma anche in linea MPFR problemi simili esistono.Si può provare, ad esempio online: http://ex-cs.sist.ac.jp/~tkouya/try_mpfr.html

1 * 1.1 @ 64 bit = 1.10000000000000000002

Ma la versione online si muove errore ulteriormente con l'aumento di precisione, ma nella mia installazione - no.

Il mio sistema:Ubuntu 9.10 + gmp 5.0.0.1 + mpfr 2.4.2

È stato utile?

Soluzione

Questa sembra essere la risposta canonica a virgola mobile e precisione i problemi.Esso comprende una spiegazione del perché di più bit non risolve il problema.

Vecchia Risposta

Vedi domanda 7 del MPFR FAQ. Comunque, ci sarà sempre qualche errore, dal momento che molti numeri non sono esattamente rappresentabile con binario le mantisse non importa quanti bit si utilizza.Vedere questa risposta a una domanda COSÌ per una buona spiegazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top