Почему 2e3 возвращает 2000? Разве от 2 до 3 степени не равно 8?

Этот код:

$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?

-1

Решение

Это называется научная нотация (или в этом случае «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,

7

Другие решения

Когда вы читаете что-то вроде xey это называется научное обозначение. Это представляет x times 10 to the power of yили, по сути, add y zeroes to x (для положительных значений y). Так что в этом случае это 2 * 10^3 = 2,000

0

2e3 — научная запись для 2000.0. Это так же, как 2.0e03. Используйте функцию pow ():

эхо-пау (2, 3); // 8

0
По вопросам рекламы [email protected]