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 相关文章推荐
用cookies来跟踪识别用户
Oct 09 PHP
PHP文件操作实现代码分享
Sep 01 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
PHP模块memcached使用指南
Dec 08 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
PHP中header用法小结
May 23 PHP
php操作路径的经典方法(必看篇)
Oct 04 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 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
PHPlet在Windows下的安装
2006/10/09 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
JavaScript类型转换方法及需要注意的问题小结(挺全面)
2010/11/11 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
教师党性分析材料
2014/02/04 职场文书
大二学习计划书范文
2014/04/27 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2014年销售工作总结
2014/12/01 职场文书
2016新年晚会开场白
2015/12/03 职场文书