Java:处理求幂

标签 java exponentiation

这个程序有问题,我必须计算 base^expo 的值,底数是实数,而指数是整数。使用 (95.123)^12 我期待 548815620517731830194541.899025343415715973535967221869852721,但我的程序生成 548815620517732160000000.code>,这是错误的请提出更好的方法。

// declare variables and read values
double myBase = scan.nextDouble(); 
int myExponent = scan.nextInt();

// display result
System.out.printf("%f", Math.pow(myBase, myExponent));

最佳答案

尝试使用BigDecimal

例子:

BigDecimal base = new BigDecimal("some number");
int exponent = ..;

BigDecimal result = base.pow(exponent);

关于Java:处理求幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27747224/

相关文章:

Prolog 谓词 - 无限循环

java - 需要找到一个分支而不进入 vobs

java - 在 Java 中从命令行传递多个参数

java eclipse 修补了 JRE 类 Xbootclasspath 无法找到或加载主类

java - 在 Java 流中添加多个字段(和条件流操作)

c++ - 指数的前 n 位

java - 我们如何告诉 Hibernate 将标识符属性设置为可选

OCaml 中的整数取幂

python - Python 中的求幂 - 我应该更喜欢 ** 运算符而不是 math.pow 和 math.sqrt 吗?

groovy - Groovy 幂运算符 (**) 的结合性是否被破坏?