我正在使用前26個素數的乘積。這需要超過52位的精度,我相信這是雙倍可以處理的最大值,並且超過了十進制可以提供的28-29位有效數字。那麼,對數字進行乘法和除法的策略是什麼呢?使用大於最大十進制值的數字
此外,爲了實現這一目標,我將不得不跳過什麼樣的箍環?
第22張素數(最讓我可以在我的計算器一起乘而不落入科學模式)的產品是:
10,642,978,845,819,148,849,204,664,294,430
過去四年的產品是
72,370,439
當乘以一起時,我得到:
7.7023705133964511682328635583552e+38
性能影響a在這裏尤其重要,因爲我們基本上試圖解決質數字符串比較解決方案在實踐中是否比直接比較字符更快的問題。促使此次調查的帖子是here。處理器針對浮點計算進行了優化;理想情況下,我想在任何解決方案中充分利用優化。
TIA!
James
PS:我確實有的代碼是針對競爭解決方案的;我不認爲素數解決方案可能會更快,但我試圖給它一個最公平的機會。
我可以在4.0中做到這一點,我還沒有玩過它,但那將是完美的。你鏈接到的圖書館是非常令人印象深刻的......我很驚訝它自2002年以來沒有更新,但可能沒有需要。我會檢查來源。非常好! – 2010-11-24 20:02:13
@James:給定的鏈接只是一個例子,告訴你在開源網站中有很多優秀的開源庫。下次你需要一些圖書館時,試着找到一個。 – 2010-11-25 02:16:56