爲了好玩,我試圖實現Chudnovsky算法來使用任意精度浮點庫來計算java中的pi值。有一件事讓我想到,我需要計算1/n的倒數,因爲公式被描述爲1/pi = sum(...)浮點運算中的倒數的精度
精度的多少個有效數字/需要浮點數n,以使1/n具有所需的精度?有這個簡單的答案嗎?我試着做一些計算,比如1/0.100009999999 = 9.99900010009,用小數點後五位正確的數字來確定0.1的倒數。我發現如果我在小數點後面取前三位數字,並將結果四捨五入,我會得到正確的值10,但是在1/n操作之後有多少數字是正確的一般規則?我也對同樣的結果感興趣,但是在二進制和十六進制的基礎上。
嘗試谷歌搜索和快速搜索Stackoverflow,但沒有找到任何以前的答案。如果重複存在,道歉。
對於pi(因爲它在1到10之間),它應該在一個數字的範圍內。所以要獲得千位數的精度,您需要高達1001位的倒數精度。你需要確切地知道嗎?無論如何,在精確度結束時您會得到估計值,所以在這裏或那裏一位數字幾乎沒有問題?我希望你沒有使用任何語言的內置double/float值來測試任何內容...... –
謝謝你的輸入。對於一個不是pi的數n,一般的答案是什麼(因爲pi不是基數2中的1到10)?不,我不使用內置的雙/浮動。我將使用Java的內置BigDecimal或apfloat – user1661303