アプリ版:「スタンプのみでお礼する」機能のリリースについて

java初心者です。
初歩的な質問ですみません。

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ …

powが使えなかったので↑のサイトに書いてあることを参考にべき乗を計算するメソッドを作っているのですが、難しいところがあってわかりません。(・・;)

●1 番目の引数が負のゼロで 2 番目の引数が正の有限の奇数の整数、または 1 番目の引数が負の無限大で 2 番目の引数が負の有限の奇数の整数の場合、結果は負のゼロになります。
●1 番目の引数が負のゼロで 2 番目の引数が負の有限の奇数の整数、または 1 番目の引数が負の無限大で 2 番目の引数が負の有限の奇数の整数の場合、結果は負の無限大になります。

と書いてありました。

1 番目の引数が負の無限大で 2 番目の引数が負の有限の奇数の整数の場合、結果はどうすればいいのですか?

A 回答 (2件)

>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

この回答への補足

>>powが使えなかったので
>これがどういう状況なのか分かりませんが、

実は、JAVAでS!アプリを作っているのですが、CLDC 1.1+MIDP 2.0ではpowが見つかりませんでした…。
だから自分でpowを作っているのですが、もしかしてこんなことをしなくてももっと簡単に解決する方法とかありますか?(・・;)

補足日時:2009/08/21 21:21
    • good
    • 0
この回答へのお礼

おお!
この一覧はとても役に立ちますm(__)m
ありがとうございます

お礼日時:2009/08/21 21:21

質問者さんが引用した中にあるとおり、負のゼロ (-0.0) を返せばいいだけではないでしょうか?

    • good
    • 0
この回答へのお礼

どうもありがとうございます。

お礼日時:2009/08/21 21:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!