加倍假設我們的平臺,其中類型long double
具有比64個比特的嚴格更高的精度上工作。將給定的long double
轉換爲普通雙精度數的最快方法是什麼?使用一些規定的舍入(向上,向下,從最近到最近等)?轉換一個長雙用向上(或向下)四捨五入
爲了使問題更準確,讓我舉一個具體的例子:讓N
是一個給定的long double
,並且M
是其價值(實際)值M - N
這樣M
>N
最小化double
。這M
將是我想查找的向上舍入轉換。
我可以逃脫適當設置FP環境的舍入模式和執行一個簡單的鑄件(如(double) N
)?
澄清:您可以假設該平臺支持IEEE標準的浮點運算(IEEE 754)。
當然FP硬件會比任何位操作速度更快。您是否在尋找軟件解決方案? – chux 2014-11-25 02:57:26
順便說一句,你不是指'(雙)N)'? – chux 2014-11-25 03:00:53
你的問題是特定於平臺的,但你提出的解決方案正是我如何去做這個任務。 – tmyklebu 2014-11-25 03:31:34