java命名空间java.math类bigdecimal的类成员方法:
pow定义及介绍
本文导语:
pow
public bigdecimal pow(int n,
mathcontext mc)
返回其值为 (thisn) 的 bigdecimal。当前实现使用的是 ansi 标准 x3.274-1996 中定义的核心算法(根据上下文设置进行舍入)。一般情况下,返回的数值在具有选择精度的精确数...
public bigdecimal pow(int n,
mathcontext mc)
- 返回其值为 (thisn) 的 bigdecimal。当前实现使用的是 ansi 标准 x3.274-1996 中定义的核心算法(根据上下文设置进行舍入)。一般情况下,返回的数值在具有选择精度的精确数值的两个 ulp 中。注意,未来版本可以使用不同的算法,以减少允许的错误范围,并增加允许的指数范围。
x3.274-1996 算法为:
- 如果出现以下情况,则抛出 arithmeticexception 异常
- abs(n) > 999999999
- mc.precision == 0 且 n < 0
- mc.precision > 0 且 n 大于 mc.precision
- 如果 n 为零,则返回
one
(即使 this 为零),否则
- 如果 n 为正数,则通过重复的平方技术将此结果计算到一个累加器中。每个附带累加器的乘法都使用与 mc 中相同的数学上下文设置,增加到 mc.precision + elength + 1 的精度除外,其中 elength 表示 n 中的十进制数字的个数。
- 如果 n 为负数,则将 n 视为正数计算其结果;然后使用上面指定的工作精度,用一除以此值。
- 然后将正数或负数的最终值舍入为目标精度。
- 参数:
n
- 此 bigdecimal 的幂。mc
- 要使用的上下文。
- 返回:
- 使用 ansi 标准 x3.274-1996 算法的 thisn
- 抛出:
arithmeticexception
- 如果该结果不准确,但是舍入模式为 unnecessary,或者 n 超出范围。- 从以下版本开始:
- 1.5