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 相关文章推荐
论坛头像随机变换代码
Oct 09 PHP
PHP连接access数据库
Mar 27 PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 PHP
在Yii框架中使用PHP模板引擎Twig的例子
Jun 13 PHP
PHP中echo和print的区别
Aug 28 PHP
php中socket通信机制实例详解
Jan 03 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
php header函数的常用http头设置
Jun 25 PHP
Yii2实现自定义独立验证器的方法
May 05 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 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
在字符串中把网址改成超级链接
2006/10/09 PHP
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
php模块memcache和memcached区别分析
2011/06/14 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
JavaScript 变量基础知识
2009/11/07 Javascript
Extjs学习笔记之六 面版
2010/01/08 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Python中的TCP socket写法示例
2018/05/11 Python
Python实现八皇后问题示例代码
2018/12/09 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
django创建超级用户过程解析
2019/09/18 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
在购买印度民族服饰:Soch
2020/09/15 全球购物
信访工作者先进事迹
2014/01/17 职场文书
期末个人总结范文
2015/02/13 职场文书
2019银行竞聘书
2019/06/21 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers