一般我们进行取余运算第一个想到的就是用百分号%,但当除数是个很大的数值,超出了int范围时,这样取余就不准确了。

php大数(浮点数)取余函数

/**
* php大数取余
*
* @param int or float $bn 除数
* @param int $sn 被除数
* @return int 余数
*/ //大数(浮点数)取余方法
function Kmod($bn, $sn) {
return intval(fmod(floatval($bn), $sn));
}

测试代码:

//大数(浮点数)取余方法
function Kmod($bn, $sn) {
return intval(fmod(floatval($bn), $sn));
} //整数取余方法
function mod($bn, $sn) {
return $bn%$sn;
} //最大的int整数
$bn = PHP_INT_MAX;
$sn = 11; var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn)); //给最大的int整数加1
$bn = PHP_INT_MAX + 1;
var_dump($bn);
var_dump(Kmod($bn, $sn));
var_dump(mod($bn, $sn));

执行结果:

int 2147483647
int 1
int 1
float 2147483648
int 2
int -2

延伸阅读:PHP求余函数fmod()

最新文章

  1. 页面中调用系统常用的对话框需要用到的classid
  2. codefordream 关于js中级训练
  3. PHP通用分页(Pager)类
  4. MySQL存储过程与存储函数的区别
  5. [codeforces 55]D. Beautiful numbers
  6. (转)Ubuntu samba配置服务文件包
  7. 旧文—冬日感怀
  8. 黑马程序猿_7K面试题之交通灯系统
  9. [翻译][MVC 5 + EF 6] 3:排序、过滤、分页
  10. oracle中的初始化参数文件
  11. poj 3295 Tautology(栈)
  12. Apache Rewrite 中文详解
  13. WOW.js – 让页面滚动更有趣
  14. codevs 2621 土地侵蚀
  15. [SNOI2017]炸弹
  16. CH1201 最大子序和
  17. Unity正交模式摄像机与屏幕适配的方法
  18. tmux 基本用法
  19. phalcon的save方法保存失败?
  20. python with原理

热门文章

  1. required string parameter XXX is not present
  2. CentOS安装MySQL
  3. MySQL 笔记2
  4. 转:Eclipse Search Tips
  5. 使用JSP开发动态网站基础
  6. SSH整合 遇到的头疼的BUGs
  7. IDEA 分享项目到 Git@OSC/GitHub
  8. 如何指定个别属性进行transition过渡
  9. wcf测试证书的创建
  10. 中软培训第一周复习总结 --简单的HTML 与CSS