pow

(PHP 4, PHP 5, PHP 7, PHP 8)

pow指数表达式

描述

pow(混合 $num, 混合 $exponent): 整数|浮点数|对象

返回 numexponent 次方。

注意:

可以使用 ** 运算符代替。

参数

num

要使用的底数

exponent

指数

返回值

numexponent 次方。如果两个参数都是非负整数,并且结果可以表示为整数,则结果将以 整数 类型返回,否则将以 浮点数 类型返回。

PHP 扩展可能覆盖此操作的行为,并使其返回一个对象。

示例

示例 #1 pow() 的一些示例

<?php

var_dump
(pow(2, 8)); // int(256)
echo pow(-1, 20), PHP_EOL; // 1
echo pow(0, 0), PHP_EOL; // 1
echo pow(10, -1), PHP_EOL; // 0.1
var_dump(pow(new GMP("3"), new GMP("2"))); // object(GMP)

echo pow(-1, 5.5); // NAN

?>

注释

注意:

此函数将所有输入转换为数字,即使是非标量值,也可能导致 *奇怪* 的结果。

参见

  • exp() - 计算 e 的指数
  • sqrt() - 平方根
  • bcpow() - 将任意精度数字提升到另一个数字
  • gmp_pow() - 将数字提升到幂

添加注释

用户贡献注释 6 个注释

chris at ocportal dot com
12 年前
许多符号使用 "^" 作为幂运算符,但在 PHP(和其他基于 C 的语言)中,它实际上是 XOR 运算符。您需要使用此 'pow' 函数,没有幂运算符。

例如,3^2 表示“3 XOR 2”,而不是“3 的平方”。

在使用 "^" 对“最近点”算法进行毕达哥拉斯定理计算时,特别容易混淆,因为您会得到看起来大致正确但存在误差的结果。
raiika
5 年前
现在正式可以使用

<?php

2
** 3; // 8

// 代替

pow(2, 3); // 8

?>
gilthansREMOVEME at gmail dot com
17 年前
请注意,pow(0, 0) 等于 1,尽管在数学上这是未定义的。
Roman
3 年前
如果您使用负数,则需要使用括号与 ** 一起使用

<?php

-1 ** 2; // -1

(-1) ** 2; // 1

?>
scott at arciszewski dot me
10 年前
从 PHP 5.6.0alpha2 开始,现在有了幂运算符。如果这在最终版本中保留,这里可能值得注意一下。

<?php
// 从 PHP 5.6.0 开始,这两个将是等效的
$x = $y ** 2;
$x = pow($y, 2);
?>
jaxx1rr at gmail dot com
4 年前
有趣的事情

number_format(pow(2, 1023));
给出一个长数字

但 number_format(pow(2, 1024));
给出 inf
To Top