Этот код:
$g = 2e3;
echo $g;
echo <br>;
echo "var_dump g gives:<br>";
Вывод:
2000
float(2000)
Я не понимаю, почему он не отображает «8» и «float (8)»? Разве от 2 до 3 степени не равно 8 ??
Я уже пытался найти этот вопрос на этом сайте. Любая помощь будет принята с благодарностью. Я выяснил, что для 2e2 он отображает 200. Таким образом, звучит так, будто он просто добавляет столько нулей к концу числа вместо того, чтобы находить 3-ю степень 2. Когда я ищу, как написать экспоненту в php, ответы Вы сказали, что используете ‘e’ или ‘E’, но это не работает, или я забыл базовую математику. Я уверен, что у кого-то здесь есть очень простой ответ для меня.
Хорошо, так почему $g = 2^3;
дать мне 1? Как я могу написать 2 в 3-й степени в php?
Это называется научная нотация (или в этом случае «E нотация»).
2e3
такой же как 2 x 10^3
, который 2000
,
Если ты хочешь 2^3
, ты можешь использовать
$g = pow(2, 3);
Или в PHP 5.6+:
$g = 2**3;
Примечание: вам нужно использовать pow()
(или же **
) потому что в PHP, когда вы делаете $g = 2^3;
, ты делаешь 2 XOR 3
,
Когда вы читаете что-то вроде xey
это называется научное обозначение. Это представляет x times 10 to the power of y
или, по сути, add y zeroes to x
(для положительных значений y). Так что в этом случае это 2 * 10^3 = 2,000
2e3 — научная запись для 2000.0. Это так же, как 2.0e03. Используйте функцию pow ():
эхо-пау (2, 3); // 8