Использование pow дает неожиданный результат

Я пытаюсь использовать функцию 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

Что такое проблема здесь ??

0
задан Lumpi 31 October 2011 в 11:44
поделиться