是否存在称为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