Я пытаюсь использовать функцию pow в c ++, но результат не такой, как я ожидал. Фрагмент:
#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
Что такое проблема здесь ??