java - 如何在 Java ME 中计算对数?

标签 java java-me

如何在 Java ME 中计算对数? Java ME 的 Math 中没有任何方法类,但它是 available在 Java SE 的 Math 中类。

最佳答案

建议如何完成here .

这是该网站的解决方案:

private static double pow(double base, int exp){
    if(exp == 0) return 1;
    double res = base;
    for(;exp > 1; --exp)
        res *= base;
    return res;
}

public static double log(double x) {
    long l = Double.doubleToLongBits(x);
    long exp = ((0x7ff0000000000000L & l) >> 52) - 1023;
    double man = (0x000fffffffffffffL & l) / (double)0x10000000000000L + 1.0;
    double lnm = 0.0;
    double a = (man - 1) / (man + 1);
    for( int n = 1; n < 7; n += 2) {
        lnm += pow(a, n) / n;
    }
    return 2 * lnm + exp * 0.69314718055994530941723212145818;
}

关于java - 如何在 Java ME 中计算对数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3132164/

相关文章:

java - GWT - RPC 序列化异常

java - 有什么可以根据路径设置对象的值吗?

java - J2ME中如何从字节中获取int?

Java 整数到字节数组 Blackberry J2ME

netbeans - J2ME 应用程序开发指南

java - 使用 gradle 发布工件(带有源代码和 javadoc)

java - JBoss EAP 6.4 -> 7.1 使用 hibernate 4 而不是默认的 hibernate 5

java - Inc/dec mongotemplate,原子地

java - J2ME 中的 URL 编码?

java-me - 开发移动应用程序