p = Math.exp((-b) * (c - d + f)) ;
这么一个算式,计算E的幂,但是指数太小。double时结果被忽略为零了。
java中的BigInteger,但不太会用,查了看没找到计算E次幂的methord
是不是用倒数,算幂怎么算呢?

解决方案 »

  1.   

    用BigDecimal,可以得到范围更大的数,不过求exp是不是还会被忽略就不太清楚了,没试
      

  2.   

    double d;
    d = Math.exp(0.00000001);
    我测试过了,都值1.0000001
      

  3.   

    BigDecimal 类用于高精度数的运算。
      

  4.   

    BigInteger类是处理大整数的,可以算987654321987654321987654321,甚至更大。
    你看看BigDecimal的部分应该能满足你的要求
      

  5.   

    看看这片文章希望对你有帮助
    http://dev.csdn.net/article/17/17400.shtm