で、 0.0001 は2進数で正確に表現することができません。この時点で誤差が生じています。 理由はここまでですが、逆に質問として、この誤差をどうしたいのでしょうか? 計算結果としては十分な精度(15ケタぐらい?)で計算できていると思います。doubleは64bitです。16bitコンパイラ(Microsoft C/...
log・log2・log10関数は全て、引数と返却値の型がdoubleでした。 C言語には、これらの関数に対応する形で、引数と返却値の型がfloatの関数とlong double型の関数がそれぞれ用意されています。 logf系関数とlogl関数 #include<math.h>floatlogf(floatx);longdoublelogl(longdoublex);floatlog2f(floa...