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 获取远程网页内容的函数
Sep 08 PHP
深入php var_dump()函数的详解
Jun 05 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
PHP中spl_autoload_register()和__autoload()区别分析
May 10 PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
PHP模拟http请求的方法详解
Nov 09 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 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
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
JavaScript修改css样式style
2008/04/15 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
Python3 Random模块代码详解
2017/12/04 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
python爬虫请求头设置代码
2020/07/28 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
建筑工程技术应届生自荐信
2013/09/27 职场文书
拓展培训心得体会
2014/01/04 职场文书
教师师德承诺书
2014/03/26 职场文书
我的老师教学反思
2014/05/01 职场文书
优秀员工推荐信
2014/05/10 职场文书
公司员工活动策划方案
2014/08/20 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
应收账款管理制度
2015/08/06 职场文书
Redis实现一个账号只能登录一个设备
2022/04/19 Redis
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript