为什么 2e3 return 2000? 2的3次方不等于8吗?

Why does 2e3 return 2000? Isn't 2 to the 3rd power equal to 8?

此代码:

$g = 2e3;
echo $g;
echo <br>;
echo "var_dump g gives:<br>";

显示:

2000
float(2000)

我不明白为什么不显示“8”和"float(8)"? 2的3次方不等于8吗??

我已经尝试在这个网站上寻找这个问题了。任何帮助将不胜感激。我确实发现 2e2 显示 200。所以听起来它只是在数字末尾添加了那么多零,而不是找到 2 的 3 次方。当我搜索如何在 php 中编写指数时,我找到的答案说使用 'e' 或 'E',但这似乎不起作用,或者我忘记了基础数学。我敢肯定这里有人对我有一个非常简单的答案。

好的,为什么 $g = 2^3; 给我 1?如何在 php 中写出 2 的 3 次方?

它被称为 scientific notation(或在本例中为 "E notation")。

2e32 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() 函数:

echo pow(2, 3); // 8