読者です 読者をやめる 読者になる 読者になる

きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

-1の-1乗が1になってるよ

Java C/C++ z/OS 浮動小数点数

珍現象。
ふむ、バグという名前の地雷を踏んだようだ。
たぶんバグ、きっとバグ。
なんでこんなバグが残ってるんだ。
おいらの自作Java累乗関数でも計算できるのに。


-1の-1乗は1と誤り。
-2の-1乗は-0.5と正しい。


x^y=e^{y \times \ln(x)}=10^{y \times \log(x)}=10^{y \times \frac{\ln(x)}{\ln(10)}


公式から予想するに、\ln(x)の処理が怪しい。


ここが0にでもなってるじゃないのかね。


これを確かめるには、-1の-1乗以外にも試すべきか。
-1の0乗、+1乗、-1乗、+2乗、-2乗、+3乗、-3乗あたりを試せば1つの疑惑の解がでるだろう。