宝哥软件园

PHP中关于长整数的一些操作教程

编辑:宝哥软件园 来源:互联网 时间:2021-08-20

前言

在PHP中,只有两种类型的数字:int和float。他们的数字依赖于系统,没有uint,不方便与其他系统通信。如果int溢出,自动转换为float,用科学的计数方法表示,小数点后只保留15位。之后数据被四舍五入,会对后面的数据操作产生影响,比如二进制转换、运算等都会出错。

对于PHP,有:

int:min ~ max :-9223372036854775808 ~ 922372036854775807(~ 92亿)

浮动:最小值~最大值:-1.7976931348623 E 308 ~ 1.7976931348623 E 308(~ 1.8E 308)

此时,我们需要考虑使用字符串形式进行相关处理。如果一定要进行数学计算,必须使用BC Math(任意精度数学)函数,可以在PHP手册:http://php.net/manual/zh/function.bcmod.php中自行查阅

这里有一个简单的例子,把一个长整数转换成二进制,把2 128转换成二进制。因为php的二进制转换函数也有一个最大值限制,这里用短除法把它转换成二进制,用原函数幂来求幂

输出结果如下。显然,精度不够,二进制错误

正确表述:

输出结果:

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。

更多资讯
游戏推荐
更多+