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


Posted in PHP onSeptember 11, 2019

前言

在PHP,数字类型只有int和float两种,它们的位数取决于系统,而且没有uint,所以跟其它系统通信的时候就有诸多不便。如果int溢出,则自动转换为float,用科学计数法来表示,并且小数点后只保留15位,之后的数据被四舍五入,这将对接下来的数据操作产生影响,比如说进制转换,进行运算等等都会出错。

对于PHP有:

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

float : min~max: -1.7976931348623E+308 ~ 1.7976931348623E+308(~1.8E308)

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

此处举一个将长整数转化为二进制的简单例子,将2^128转化为二进制:由于php的进制转换函数也是有最大值限制的,所以在这里采用短除法,来转化为二进制,采用原始函数pow求幂次

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

其输出结果如下,很显然精度不够,并且二进制是错误的

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

正确表示:

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

输出结果:

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
PHP:风雨欲来 路在何方?
Oct 09 PHP
十天学会php之第六天
Oct 09 PHP
FleaPHP的安全设置方法
Sep 15 PHP
PHP中的float类型使用说明
Jul 27 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
Jan 28 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
Sep 04 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
PHP实现字符串的全排列详解
Apr 24 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
Sep 13 PHP
PHP生成随机字符串实例代码(字母+数字)
Sep 11 #PHP
Yii框架参数配置文件params用法实例分析
Sep 11 #PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 #PHP
Laravel框架验证码类用法实例分析
Sep 11 #PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
Sep 10 #PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 #PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 #PHP
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
PHP获取MAC地址的具体实例
2013/12/13 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
简单解析Django框架中的表单验证
2015/07/17 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
用python写测试数据文件过程解析
2019/09/25 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
2020/06/29 Python
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
医科大学毕业生自荐信
2014/02/03 职场文书
父母对孩子的寄语
2014/04/09 职场文书
学生安全责任书模板
2014/07/25 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
离婚案件原告代理词
2015/05/23 职场文书
mysql优化
2021/04/06 MySQL