У меня проблема: У меня есть ряд значений x, и мне нужно вычислить x^e (e - число Эйлера). Я делаю это:perl exponentiation results in "nan"
$x = $x ** exp(1);
Это приводит к «нан» для всех моих тестов.
Однако если напечатать значения $ х, прежде чем я это сделать, а затем принять одно и изменить выше линии к этому:
$x = -12.4061063212051 ** exp(1);
это приводит к совершенно прекрасных номеров.
Может ли кто-нибудь указать, что я делаю неправильно здесь?
Благодаря
PS: Может быть, ошибка прячется где-то еще, так вот как я вычислить $ х:
$y = #some float value taken from the output string of another program
$x = ($y/(303 * 0.0019872041));
print $x; #prints number
$x = $x ** exp(1);
print $x; #prints "nan"
please me that 'x $' не является опечаткой в вашем коде: D –
: D нет, конечно нет! спасибо – Nick
вы уверены, что '$ x' не NaN до этого? – Mat