bcpow和pow有什么区别?

Dmi*_*tri 3 php bcmath

有人可以解释一下,如果我应该使用bcpow()而不是pow(),为什么?

据我所知,并非所有的php安装都启用了bcmath.因此,如果我编写一个开源项目,并希望尽可能少的依赖/需求,我宁愿在我的代码中使用pow().

但是使用pow()而不是bcpow()的缺点是什么?

Pas*_*TIN 6

bcpow()BCMath任意精度数学库的功能.

引用它的手册:

对于任意精度数学,PHP提供二进制计算器,它 支持任何大小和精度的数字,表示为字符串.


另一方面,pow()仅限于浮动,其尺寸有限(引用):

浮点的大小取决于平台,尽管最大值为〜1.8e308,精度约为14位十进制数是一个常见值(64位IEEE格式)


通常,您将使用pow()其他基于浮动的函数(可能更快,并且始终启用) ; 但是,如果你需要处理非常大的数字,你将不得不与之合作bcpow().