是否存在稱爲frexp的C/C++函數的Java等價物?如果你不熟悉,frexp是defined by Wikipedia「將浮點數分解爲尾數和指數。」是否有與frexp相當的Java?
我正在尋找速度和精度的實施,但我寧願有準確性,如果我只能選擇一個。
這是第一次參考的代碼示例。它應使frexp合同更加清楚一點:
/* frexp example */
#include <stdio.h>
#include <math.h>
int main()
{
double param, result;
int n;
param = 8.0;
result = frexp (param , &n);
printf ("%lf * 2^%d = %f\n", result, n, param);
return 0;
}
/* Will produce: 0.500000 * 2^4 = 8.000000 */
我認爲Apache Commons Math軟件包可能是一個很好的找到它的地方,但我沒有看到任何東西。也許你可以爲它提供一個功能請求?或者,如果您決定自己編寫代碼,請與他們談論將其包含在圖書館中 - 這對我來說似乎是一個有益的補充。 – Carl 2009-10-12 16:14:57
@Carl,我同意這會有用。儘管我非常瞭解自己和工作量,所以我不會承諾試圖單獨創建它。我敢肯定,我可以做80%的工作正確的時間,我必須投入80%,這是非常接近壞比無用.... – 2009-10-12 20:22:07
真正的問題是:爲什麼frexp不會打破浮動到兩個整數,但至少需要一個浮動..對於一個沒有意義的浮點分解(想想遞歸.....) – 2009-10-13 21:51:53