php 超大整数计算,PHP int 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨...
【分享】PHP int 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨
分享一个溢出整数加减的运算函数,刚刚写的,对于溢出的整数可以用这个来进行加减运算。
遗憾的几点是:
一代码太多;
二只有加减运算,乘除取余都没有;
其实还有一个更简便的方式就是用SQL数据库的:SELECT n1+n2;
mysql> SELECT 11234123413241341234123412341234+1;
+------------------------------------+
| 11234123413241341234123412341234+1 |
+------------------------------------+
| 11234123413241341234123412341235 |
+------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT 11234123413241341234123412341234*12341234123;
+----------------------------------------------+
| 11234123413241341234123412341234*12341234123 |
+----------------------------------------------+
| 138642947209487270472850788378836360727782 |
+----------------------------------------------+
1 row in set (0.00 sec)
如果有更好的方法,请随时回帖或者发个信息给我。欢迎探讨。
/* big int operate [by fuzb 20130826] */
function bigintO($num1,$op,$num2)
{
$arr = array();
$endop = '';
$num1o = $num1;
$num2o = $num2;
if($num1 < 0)
{
$c1 = -1;
$num1 = preg_replace('/^(-)/','',$num1);
} else {
$c1 = 1;
}
if($num2 < 0)
{
$c2 = -1;
$num2 = preg_replace('/^(-)/','',$num2);
} else {
$c2 = 1;
}
$len1 = strlen($num1);
$len2 = strlen($num2);
$len = max(strlen($num1),strlen($num2));
if($len1 < $len) $num1 = str_pad('0',$len - $len1).$num1;
if($len2 < $len) $num2 = str_pad('0',$len - $len2).$num2;
if($op == '+')
{
if($c1 == $c2)
{
相关文章
相关视频
php 超大整数计算,PHP int 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨...相关推荐
- php中超过int真么办,PHP int 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨...
[分享]PHP int 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨 分享一个溢出整数加减的运算函数,刚刚写的,对于溢出的整数可以用这个来进行加减运算. 遗憾的几点是: 一代码太多: 二只有 ...
- 定点加减运算(补码加减法及溢出检测)
本文只针对定点的加减运算(补码加减法实现),不涉及定点数的乘除运算以及浮点数运算 补码加减法 公式 补码加法: [x+y]补=[x]补+[y]补 [ x + y ] 补 = [ x ] 补 + [ y ...
- 微型计算机原理计算两数和,微型计算机原理及汇编语言 第2章-2 补码及加减运算.ppt...
微型计算机原理及汇编语言 第2章-2 补码及加减运算 2.4 数的定点与浮点表示法 2.4.1 定点表示 所谓定点表示法,是指小数点在数中的位置是固定的.原理上讲,小数点的位置固定在哪一位都是可以的, ...
- python输入日期计算天数_用python计算日期(1、返回指定日期所在的一周,2,计算一个日期的月份和天数加减)...
放两个小轮子吧,欢迎测试bug,然后告诉我: 1.返回指定日期所在的一周 2,计算一个日期的月份和天数加减 # -*- coding: utf-8 -*- """ Cre ...
- 原码/补码的加减运算and溢出判断
小数点的处理: 任意一个二进制数S都可以表示为 研究小数点就要研究阶码E的取值: 若E=0,则表示纯小数--代表定点小数: 例0.1111表示+0.1111,1.1111表示-0.1111. 若E=n ...
- [C语言]指针之数组逆序函数:编写函数invert,将数组中的n个整数按相反顺序存放,要求用指针变量作为函数形参,并用指针的方法遍历该数组。在main函数中输入n个整数,存入数组a中;然后调用上述函
编写函数invert,将数组中的n个整数按相反顺序存放,要求用指针变量作为函数形参,并用指针的方法遍历该数组. 在main函数中输入n个整数,存入数组a中:然后调用上述函数处理数组a,最后逐个输出数组 ...
- 补码的加减运算和溢出判断
补码的加减运算 定义:两个操作数用补码表示,连同符号位一起表示,结果也用补码表示 补码的加减运算公式:(X+Y)补 = X补 + Y补 (X-Y)补 = X补 + (- ...
- 考前自学系列·计算机组成原理·补码定点加减运算和溢出判断,浮点数的加减运算,原码的乘法
补码定点加减运算和溢出判断 浮点数的加减运算 原码乘法
- 计组之数据运算:5、加减运算与溢出判断
5.加减运算与溢出判断 思维导图 原码的加减运算 补码的加减运算 溢出判断 1.采用一位符号位直接判断 2.采用一位符号位用进位判断 3.采用双符号位判断 符号扩展 思维导图 原码的加减运算 补码的加 ...
最新文章
- ajax百分比加载特效,jQuery实现的简单百分比进度条效果示例
- AI研发新药登上Nature子刊:46天合成潜在新药候选分子,比传统方法快15倍 | 开源...
- IIS没有.net版本选择标签问题
- js获取select标签选中的值
- A successful Git branching model
- mysql常见数据库设计_常见数据库设计
- 【node内存泄漏耗尽之解决方法】
- 数学建模4 拟合算法
- Problem D. Country Meow 2018ICPC南京
- Ubuntu18.04 安装 Mysql 5.7 问题
- 网站被移动运营方屏蔽怎么办?
- CentOS 6.4 电信ADSL拨号上网网络配置
- reactor项目Maven配置
- 关注智能眼镜:tooz Devkit 20
- 支付宝php sdk如何使用,支付宝SDK怎么用啊?
- 什么是yum源,yum的工作原理又是什么
- 高斯滤波的理解与学习
- 假装接入阿里云---PC运行mqtt.fx
- java double 排序_转载:qsort细节用法,double型的排序我竟然一直用错了~~~
- java 解析器_高性能Java解析器实现过程详解