私はC++でpow関数を使用しようとしていますが、結果は期待したものではありません。スニペット:タイピング今powを使用すると予期しない結果が発生する
#include <math.h>
float floatcopy = boost::lexical_cast<float>(copy); //Then floatcopy is 2.300000
float exponent = boost::lexical_cast<float>(copy[foundEXP+1]); // Then exponent is 5.00000
floatcopy = pow(floatcopy*10,-exponent);
、2.3 * 10^-5私の電卓に(あるいは私の頭の中で...)私は予想通り得る:0.0000230
は、上記1.5536773e-007
で結果を切り取らここで問題は何ですか?
floatcopy = floatcopy *捕虜(10、-exponent)。 –
私はあなたの質問が誤解を招くと思います: 'pow'は実際に期待される結果を生み出しています。あなたの質問は、 "なぜ私のコードは私がしたいことをしていないのですか?"おそらく、 "疑問がある場合は、コンパイラ/標準ライブラリ/言語ではなく、*あなた*のエラーを探します"。 –