Php 幂大浮点数(100.33^360)

Php 幂大浮点数(100.33^360),php,gmp,pow,Php,Gmp,Pow,我有问题: pow(100.33, 360); // return INF 我使用GMP,但这不是浮点数: gmp_strval(gmp_pow('2', 3)); //return 8 gmp_strval(gmp_pow('2.0', 3)); //return 0 请帮助:)如何操作?来自: 这些函数允许您使用GNU MP库处理任意长度的整数 换句话说,不允许使用浮点。GMP本身可以做浮点运算,但它的PHP接口似乎没有充分发挥其功能 您可以使用bcpow获得以下功能: $num = b

我有问题:

pow(100.33, 360); // return INF
我使用GMP,但这不是浮点数:

gmp_strval(gmp_pow('2', 3)); //return 8
gmp_strval(gmp_pow('2.0', 3)); //return 0
请帮助:)如何操作?

来自:

这些函数允许您使用GNU MP库处理任意长度的整数

换句话说,不允许使用浮点。GMP本身可以做浮点运算,但它的PHP接口似乎没有充分发挥其功能

您可以使用
bcpow
获得以下功能:

$num = bcpow('100.33', '360', 20);
echo $num;
这就产生了:

3274103534834396431867559103093187830103180578316133866868
8735096209772372540787863291005903612118038812972585250990
9184783128175191070195558359762317865469719418788175465726
2260403727769361000933644502616255136475528818978181028888
7900899387124705985519483201689097535257257471686279645479
0293787644875616262913286836073610372960697383687245477891
3127091993585718764278131719726387787145646698001143323773
8827166195539744295014989026208988133960971242873367417385
5744373185506374857530249495974084141129611541831378797038
9257147348718093640732700784857982966810730374711336160716
5240002574688357771367833219551029582525497843733924244263
5089812833806492039068418216603999851813542524325083024650
6447037300606418104334363.93719644178064144117
从:

这些函数允许您使用GNU MP库处理任意长度的整数

换句话说,不允许使用浮点。GMP本身可以做浮点运算,但它的PHP接口似乎没有充分发挥其功能

您可以使用
bcpow
获得以下功能:

$num = bcpow('100.33', '360', 20);
echo $num;
这就产生了:

3274103534834396431867559103093187830103180578316133866868
8735096209772372540787863291005903612118038812972585250990
9184783128175191070195558359762317865469719418788175465726
2260403727769361000933644502616255136475528818978181028888
7900899387124705985519483201689097535257257471686279645479
0293787644875616262913286836073610372960697383687245477891
3127091993585718764278131719726387787145646698001143323773
8827166195539744295014989026208988133960971242873367417385
5744373185506374857530249495974084141129611541831378797038
9257147348718093640732700784857982966810730374711336160716
5240002574688357771367833219551029582525497843733924244263
5089812833806492039068418216603999851813542524325083024650
6447037300606418104334363.93719644178064144117
从:

这些函数允许您使用GNU MP库处理任意长度的整数

换句话说,不允许使用浮点。GMP本身可以做浮点运算,但它的PHP接口似乎没有充分发挥其功能

您可以使用
bcpow
获得以下功能:

$num = bcpow('100.33', '360', 20);
echo $num;
这就产生了:

3274103534834396431867559103093187830103180578316133866868
8735096209772372540787863291005903612118038812972585250990
9184783128175191070195558359762317865469719418788175465726
2260403727769361000933644502616255136475528818978181028888
7900899387124705985519483201689097535257257471686279645479
0293787644875616262913286836073610372960697383687245477891
3127091993585718764278131719726387787145646698001143323773
8827166195539744295014989026208988133960971242873367417385
5744373185506374857530249495974084141129611541831378797038
9257147348718093640732700784857982966810730374711336160716
5240002574688357771367833219551029582525497843733924244263
5089812833806492039068418216603999851813542524325083024650
6447037300606418104334363.93719644178064144117
从:

这些函数允许您使用GNU MP库处理任意长度的整数

换句话说,不允许使用浮点。GMP本身可以做浮点运算,但它的PHP接口似乎没有充分发挥其功能

您可以使用
bcpow
获得以下功能:

$num = bcpow('100.33', '360', 20);
echo $num;
这就产生了:

3274103534834396431867559103093187830103180578316133866868
8735096209772372540787863291005903612118038812972585250990
9184783128175191070195558359762317865469719418788175465726
2260403727769361000933644502616255136475528818978181028888
7900899387124705985519483201689097535257257471686279645479
0293787644875616262913286836073610372960697383687245477891
3127091993585718764278131719726387787145646698001143323773
8827166195539744295014989026208988133960971242873367417385
5744373185506374857530249495974084141129611541831378797038
9257147348718093640732700784857982966810730374711336160716
5240002574688357771367833219551029582525497843733924244263
5089812833806492039068418216603999851813542524325083024650
6447037300606418104334363.93719644178064144117

@帕斯迪亚布洛是对的。gmp_pow不允许浮动值。你会得到警告的

警告:gmp_pow():无法将变量转换为gmp-命令行代码中的类型错误

您可以通过使用bcpow来实现这一点
@paxdiablo是对的。gmp_pow不允许浮动值。你会得到警告的

警告:gmp_pow():无法将变量转换为gmp-命令行代码中的类型错误

您可以通过使用bcpow来实现这一点
@paxdiablo是对的。gmp_pow不允许浮动值。你会得到警告的

警告:gmp_pow():无法将变量转换为gmp-命令行代码中的类型错误

您可以通过使用bcpow来实现这一点
@paxdiablo是对的。gmp_pow不允许浮动值。你会得到警告的

警告:gmp_pow():无法将变量转换为gmp-命令行代码中的类型错误

您可以通过使用bcpow来实现这一点

我知道这一点。我的问题不是“为什么我使用GMP有bug?”和“怎么做?”@Jarosław,我只能假设你错过了我的斜体“整数”,否则,如果你知道PHP GMP内容只针对整数,为什么你要尝试解析浮点数?我会把我的解释说得更清楚的,因为你可能误解了。我知道。我的问题不是“为什么我使用GMP有bug?”和“怎么做?”@Jarosław,我只能假设你错过了我的斜体“整数”,否则,如果你知道PHP GMP内容只针对整数,为什么你要尝试解析浮点数?我会把我的解释说得更清楚的,因为你可能误解了。我知道。我的问题不是“为什么我使用GMP有bug?”和“怎么做?”@Jarosław,我只能假设你错过了我的斜体“整数”,否则,如果你知道PHP GMP内容只针对整数,为什么你要尝试解析浮点数?我会把我的解释说得更清楚的,因为你可能误解了。我知道。我的问题不是“为什么我使用GMP有bug?”和“怎么做?”@Jarosław,我只能假设你错过了我的斜体“整数”,否则,如果你知道PHP GMP内容只针对整数,为什么你要尝试解析浮点数?万一你误解了,我会把我的解释说得更清楚。