8

私が使うときMath.pow(9, 18) =150094635296999136

web Calculator を使用すると 9^18 = 150094635296999121 ( http://web2.0calc.com/ )

Google電卓を使うと 9^18 = 1.50094635 × 10^17

なぜ違うのですか?

4

1 に答える 1

16

doubleその範囲では、連続する値の差は 32 ですdouble

BigInteger正確な答えを得るために使用できます:

Math.pow(9, 18) == 150094635296999136
BigInteger.valueOf(9).pow(18) == 150094635296999121
于 2011-06-02T05:25:12.287 に答える