8

を計算しようとしています。a^(1/n)ここで、^べき乗を示します。

ただし、次のとおりです。

Math.pow(8, 1/3)

を返す1.0代わりに を返し2.0ます。

何故ですか?

4

3 に答える 3

5

1/3となります0( 1and3intリテラルとして扱われるため)。

したがって、これらのリテラルを float/double にする必要があります...

行う:

Math.pow(8, 1f/3) また

Math.pow(8, 1./3) また

Math.pow(8, 1.0/3)

于 2013-04-11T18:05:18.737 に答える
4

Math.pow(8, (1.0f / 3.0f))代わりに試してください。

1 / 3整数除算を行います。これにより、8 ^ 0 = 1

于 2013-04-11T18:01:02.010 に答える