>백엔드 개발 >PHP 튜토리얼 > php乘法有bug?解决办法

php乘法有bug?解决办法

WBOY
WBOY원래의
2016-06-13 13:35:251054검색

php乘法有bug?
85112854 * 4294967296 + 384440042 
计算结果用sprintf("%.0f"输出是365556924783662848,而用计算器计算得到的结果是365556924783662826
被这个问题搞的头大死了。。
有谁知道是什么原因吗?

------解决方案--------------------
这样运算,或用gmp函数

PHP code

echo    bcadd(bcmul(85112854, 4294967296), 384440042);
<br><font color="#e78608">------解决方案--------------------</font><br>
echo bcadd(bcmul('85112854', '4294967296', 0), '384440042', 0);//365556924783662826<br> <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.