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 多线程上下文中安全写文件实现代码
Dec 28 PHP
PHP数组交集的优化代码分析
Mar 06 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
PHP对象递归引用造成内存泄漏分析
Aug 28 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 PHP
php组合排序简单实现方法
Oct 15 PHP
PHP实现的简单适配器模式示例
Jun 22 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
PHP自动识别当前使用移动终端
May 21 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
Apr 11 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的特殊设置
2006/10/09 PHP
php email邮箱正则
2008/10/08 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
prototype class详解
2006/09/07 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
TypeScript入门-接口
2017/03/30 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
深入学习python的yield和generator
2016/03/10 Python
详解Python做一个名片管理系统
2019/03/14 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
keras多显卡训练方式
2020/06/10 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
工地宣传标语
2014/06/18 职场文书
节约用水的口号
2014/06/20 职场文书
授权委托书格式
2014/07/31 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
六年级作文之关于梦
2019/10/22 职场文书
浅析Python中的套接字编程
2021/06/22 Python
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js