- 締切済み
powで1 番目の引数が負の無限大で 2 番目の引数が負の有限の奇数の整数の場合
java初心者です。 初歩的な質問ですみません。 http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/Math.html powが使えなかったので↑のサイトに書いてあることを参考にべき乗を計算するメソッドを作っているのですが、難しいところがあってわかりません。(・・;) ●1 番目の引数が負のゼロで 2 番目の引数が正の有限の奇数の整数、または 1 番目の引数が負の無限大で 2 番目の引数が負の有限の奇数の整数の場合、結果は負のゼロになります。 ●1 番目の引数が負のゼロで 2 番目の引数が負の有限の奇数の整数、または 1 番目の引数が負の無限大で 2 番目の引数が負の有限の奇数の整数の場合、結果は負の無限大になります。 と書いてありました。 1 番目の引数が負の無限大で 2 番目の引数が負の有限の奇数の整数の場合、結果はどうすればいいのですか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- HarukaV49
- ベストアンサー率53% (48/89)
>powが使えなかったので これがどういう状況なのか分かりませんが、 とりあえず、様々なパターンの演算結果を例示します。 Math.pow(+0, +0) = 1.0 Math.pow(+0, -0) = 1.0 Math.pow(+0, +2) = 0.0 Math.pow(+0, -2) = Infinity Math.pow(+0, +3) = 0.0 Math.pow(+0, -3) = Infinity Math.pow(+0, +3.4) = 0.0 Math.pow(+0, -3.4) = Infinity Math.pow(+0, +Double.MAX_VALUE) = 0.0 Math.pow(+0, -Double.MAX_VALUE) = Infinity Math.pow(-0, +0) = 1.0 Math.pow(-0, -0) = 1.0 Math.pow(-0, +2) = 0.0 Math.pow(-0, -2) = Infinity Math.pow(-0, +3) = 0.0 Math.pow(-0, -3) = Infinity Math.pow(-0, +3.4) = 0.0 Math.pow(-0, -3.4) = Infinity Math.pow(-0, +Double.MAX_VALUE) = 0.0 Math.pow(-0, -Double.MAX_VALUE) = Infinity Math.pow(+1, +0) = 1.0 Math.pow(+1, -0) = 1.0 Math.pow(+1, +2) = 1.0 Math.pow(+1, -2) = 1.0 Math.pow(+1, +3) = 1.0 Math.pow(+1, -3) = 1.0 Math.pow(+1, +3.4) = 1.0 Math.pow(+1, -3.4) = 1.0 Math.pow(+1, +Double.MAX_VALUE) = 1.0 Math.pow(+1, -Double.MAX_VALUE) = 1.0 Math.pow(-1, +0) = 1.0 Math.pow(-1, -0) = 1.0 Math.pow(-1, +2) = 1.0 Math.pow(-1, -2) = 1.0 Math.pow(-1, +3) = -1.0 Math.pow(-1, -3) = -1.0 Math.pow(-1, +3.4) = NaN Math.pow(-1, -3.4) = NaN Math.pow(-1, +Double.MAX_VALUE) = 1.0 Math.pow(-1, -Double.MAX_VALUE) = 1.0 Math.pow(+2, +0) = 1.0 Math.pow(+2, -0) = 1.0 Math.pow(+2, +2) = 4.0 Math.pow(+2, -2) = 0.25 Math.pow(+2, +3) = 8.0 Math.pow(+2, -3) = 0.125 Math.pow(+2, +3.4) = 10.556063286183154 Math.pow(+2, -3.4) = 0.09473228540689989 Math.pow(+2, +Double.MAX_VALUE) = Infinity Math.pow(+2, -Double.MAX_VALUE) = 0.0 Math.pow(-2, +0) = 1.0 Math.pow(-2, -0) = 1.0 Math.pow(-2, +2) = 4.0 Math.pow(-2, -2) = 0.25 Math.pow(-2, +3) = -8.0 Math.pow(-2, -3) = -0.125 Math.pow(-2, +3.4) = NaN Math.pow(-2, -3.4) = NaN Math.pow(-2, +Double.MAX_VALUE) = Infinity Math.pow(-2, -Double.MAX_VALUE) = 0.0 Math.pow(+Double.MAX_VALUE, +0) = 1.0 Math.pow(+Double.MAX_VALUE, -0) = 1.0 Math.pow(+Double.MAX_VALUE, +2) = Infinity Math.pow(+Double.MAX_VALUE, -2) = 0.0 Math.pow(+Double.MAX_VALUE, -3) = 0.0 Math.pow(+Double.MAX_VALUE, -3) = 0.0 Math.pow(+Double.MAX_VALUE, +3.4) = Infinity Math.pow(+Double.MAX_VALUE, -3.4) = 0.0 Math.pow(+Double.MAX_VALUE, +Double.MAX_VALUE) = Infinity Math.pow(+Double.MAX_VALUE, -Double.MAX_VALUE) = 0.0 Math.pow(-Double.MAX_VALUE, +0) = 1.0 Math.pow(-Double.MAX_VALUE, -0) = 1.0 Math.pow(-Double.MAX_VALUE, +2) = Infinity Math.pow(-Double.MAX_VALUE, -2) = 0.0 Math.pow(-Double.MAX_VALUE, +3) = -Infinity Math.pow(-Double.MAX_VALUE, -3) = -0.0 Math.pow(-Double.MAX_VALUE, +3.4) = NaN Math.pow(-Double.MAX_VALUE, -3.4) = NaN Math.pow(-Double.MAX_VALUE, +Double.MAX_VALUE) = Infinity Math.pow(-Double.MAX_VALUE, -Double.MAX_VALUE) = 0.0
- salsberry
- ベストアンサー率69% (495/711)
質問者さんが引用した中にあるとおり、負のゼロ (-0.0) を返せばいいだけではないでしょうか?
お礼
どうもありがとうございます。
お礼
おお! この一覧はとても役に立ちますm(__)m ありがとうございます
補足
>>powが使えなかったので >これがどういう状況なのか分かりませんが、 実は、JAVAでS!アプリを作っているのですが、CLDC 1.1+MIDP 2.0ではpowが見つかりませんでした…。 だから自分でpowを作っているのですが、もしかしてこんなことをしなくてももっと簡単に解決する方法とかありますか?(・・;)