【分享】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 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨...相关推荐

  1. php中超过int真么办,PHP int 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨...

    [分享]PHP int 超大溢出整数的 加减运算函数,如果有更好的方法欢迎探讨 分享一个溢出整数加减的运算函数,刚刚写的,对于溢出的整数可以用这个来进行加减运算. 遗憾的几点是: 一代码太多: 二只有 ...

  2. 定点加减运算(补码加减法及溢出检测)

    本文只针对定点的加减运算(补码加减法实现),不涉及定点数的乘除运算以及浮点数运算 补码加减法 公式 补码加法: [x+y]补=[x]补+[y]补 [ x + y ] 补 = [ x ] 补 + [ y ...

  3. 微型计算机原理计算两数和,微型计算机原理及汇编语言 第2章-2 补码及加减运算.ppt...

    微型计算机原理及汇编语言 第2章-2 补码及加减运算 2.4 数的定点与浮点表示法 2.4.1 定点表示 所谓定点表示法,是指小数点在数中的位置是固定的.原理上讲,小数点的位置固定在哪一位都是可以的, ...

  4. python输入日期计算天数_用python计算日期(1、返回指定日期所在的一周,2,计算一个日期的月份和天数加减)...

    放两个小轮子吧,欢迎测试bug,然后告诉我: 1.返回指定日期所在的一周 2,计算一个日期的月份和天数加减 # -*- coding: utf-8 -*- """ Cre ...

  5. 原码/补码的加减运算and溢出判断

    小数点的处理: 任意一个二进制数S都可以表示为 研究小数点就要研究阶码E的取值: 若E=0,则表示纯小数--代表定点小数: 例0.1111表示+0.1111,1.1111表示-0.1111. 若E=n ...

  6. [C语言]指针之数组逆序函数:编写函数invert,将数组中的n个整数按相反顺序存放,要求用指针变量作为函数形参,并用指针的方法遍历该数组。在main函数中输入n个整数,存入数组a中;然后调用上述函

    编写函数invert,将数组中的n个整数按相反顺序存放,要求用指针变量作为函数形参,并用指针的方法遍历该数组. 在main函数中输入n个整数,存入数组a中:然后调用上述函数处理数组a,最后逐个输出数组 ...

  7. 补码的加减运算和溢出判断

    补码的加减运算 定义:两个操作数用补码表示,连同符号位一起表示,结果也用补码表示 补码的加减运算公式:(X+Y)补 = X补 + Y补                 (X-Y)补 = X补 + (- ...

  8. 考前自学系列·计算机组成原理·补码定点加减运算和溢出判断,浮点数的加减运算,原码的乘法

    补码定点加减运算和溢出判断 浮点数的加减运算 原码乘法

  9. 计组之数据运算:5、加减运算与溢出判断

    5.加减运算与溢出判断 思维导图 原码的加减运算 补码的加减运算 溢出判断 1.采用一位符号位直接判断 2.采用一位符号位用进位判断 3.采用双符号位判断 符号扩展 思维导图 原码的加减运算 补码的加 ...

最新文章

  1. ajax百分比加载特效,jQuery实现的简单百分比进度条效果示例
  2. AI研发新药登上Nature子刊:46天合成潜在新药候选分子,比传统方法快15倍 | 开源...
  3. IIS没有.net版本选择标签问题
  4. js获取select标签选中的值
  5. A successful Git branching model
  6. mysql常见数据库设计_常见数据库设计
  7. 【node内存泄漏耗尽之解决方法】
  8. 数学建模4 拟合算法
  9. Problem D. Country Meow 2018ICPC南京
  10. Ubuntu18.04 安装 Mysql 5.7 问题
  11. 网站被移动运营方屏蔽怎么办?
  12. CentOS 6.4 电信ADSL拨号上网网络配置
  13. reactor项目Maven配置
  14. 关注智能眼镜:tooz Devkit 20
  15. 支付宝php sdk如何使用,支付宝SDK怎么用啊?
  16. 什么是yum源,yum的工作原理又是什么
  17. 高斯滤波的理解与学习
  18. 假装接入阿里云---PC运行mqtt.fx
  19. java double 排序_转载:qsort细节用法,double型的排序我竟然一直用错了~~~
  20. java 解析器_高性能Java解析器实现过程详解

热门文章

  1. Webform(简单控件、复合控件)
  2. ios模拟器键盘不弹出
  3. Float浮点内存存储方式 转
  4. SpringBoot之解决一对一、多对一、多对多等关联实体在JSON序列化/输出时产生的无限递归死循环问题(infinite recursion)
  5. 第五篇:数据预处理(二) - 异常值处理
  6. vue二级路由跳转后外部引入js失效问题解决方案
  7. angular--解决angular图片加载失败问题
  8. 【推荐实践】爱奇艺推荐中台探索与实践
  9. 【干货】小米用户画像实战.pdf(附下载链接)
  10. 计算机视觉目标检测算法总结1——简介