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 相关文章推荐
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
PHP 翻页 实例代码
Aug 07 PHP
php学习之变量的使用
May 29 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
Apr 15 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
php获取数据库结果集方法(推荐)
Jun 01 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 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
帖几个PHP的无限分类实现想法~
2007/01/02 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
Python实现测试磁盘性能的方法
2015/03/12 Python
开始着手第一个Django项目
2015/07/15 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
深入浅析python with语句简介
2018/04/11 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
通俗讲解python 装饰器
2020/09/07 Python
python实现逻辑回归的示例
2020/10/09 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
大三学生入党思想汇报
2014/01/02 职场文书
综合实践教学反思
2014/01/31 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
2014年预算员工作总结
2014/12/05 职场文书
董事长秘书工作总结
2015/08/14 职场文书
车位出租协议书范本
2016/03/19 职场文书
Pandas搭配lambda组合使用详解
2022/01/22 Python