実録、ともおじちゃん

典型的な客先常駐型ソフトウェア技術者の13年の軌跡

Java: Math.pow(double, double)

2009年08月25日 | コンピュータ・家電
仕事で、ピアソン相関係数を算出するために、

double a = ...;
double b = ...;
double den = Math.pow(a * b, 1/2);

としたところ、何故か、係数が有効範囲外(-1 ~ 1)になってしまい、ずっと悩んでいたのですが、

double den = Math.pow(a * b, 0.5);

だと期待通りの値が得られます。よーく考えると、

整数リテラル同士の除算の結果は…当然、整数

あたりまえですが…つまり、1/2 の計算結果は 0 となり、

double den = Math.pow(a * b, 0);

…素直にMath.sqrt(double)を使うことにしました。あーあぁ、初歩的なミスでハマッちまったぁ(泣)。ハズカシイ…



最新の画像もっと見る