首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP高精度数学-性能

PHP高精度数学-性能
EN

Stack Overflow用户
提问于 2013-09-30 00:52:04
回答 1查看 520关注 0票数 4

我的应用程序(PHP)需要执行很多高精度的数学运算(总共可能出现100个数字)

通过这个论坛上的最后几篇文章,我可以知道我必须使用任何高精度的库,比如BC Math或GMP,因为float类型不能处理冗长的数据,因为它们的最大大小是有限的

由于我的应用程序需要十进制数字,而GMP不支持小数,因此选择BC Math是显而易见的

我只是想找出在性能方面最好的方法

案例一:在进行任何数学运算前先检查数值,如果结果超过浮动限制,则按常规方式进行计算,执行BC Math运算,得到准确的结果

案例2:从一开始就直接使用BC Math

假设50%的计算不需要高精度的数学计算。在这种情况下,哪一个的性能会更好

请给我建议

EN

回答 1

Stack Overflow用户

发布于 2013-09-30 22:08:57

我用WolframAlpha计算了一些很难的数学题。因此,我们的计算机上的WolframAlpha速度很快,如果您有互联网连接,就可以使用它。这是计算最大数的根的例子。并且结果很糟糕,请检查它。

代码语言:javascript
复制
<?php
    function pow_a($a,$b){
    $a = file_get_contents("http://www.wolframalpha.com/input/?i=$a"."%5E"."$b");
    if(preg_match_all('/first\sbtn\"\>\<a\shref\=\"(.*?)\"/', $a, $m))
        $b = file_get_contents("http://www.wolframalpha.com/input/".htmlspecialchars_decode($m[1][0]));
        if(preg_match_all("/\"stringified\"\:\s\"(.*?)\.\.\./i", $b, $k))
            return $k[1][0];
    }
    echo pow_a("9999999999999999999999999", "0.2222");
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19080659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档