求模与求余
2016-01-15 09:20
134 查看
今天遇到求模与求余的区别,特此查询了一下,在此做标记
求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入(fix()函数);而取模运算在计算c的值时,向负无穷方向舍入(floor()函数)。
例如:计算-7 Mod 4
那么:a = -7;b = 4;
第一步:求整数商c,如进行求模运算c = -2(向负无穷方向舍入),求余c = -1(向0方向舍入);
第二步:计算模和余数的公式相同,但因c的值不同,求模时r = 1,求余时r = -3。
归纳:当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。
当符号不一致时,结果不一样。求模运算结果的符号和b一致,求余运算结果的符号和a一致。
另外各个环境下%运算符的含义不同,比如c/c++,java 为取余,而python则为取模。
求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入(fix()函数);而取模运算在计算c的值时,向负无穷方向舍入(floor()函数)。
例如:计算-7 Mod 4
那么:a = -7;b = 4;
第一步:求整数商c,如进行求模运算c = -2(向负无穷方向舍入),求余c = -1(向0方向舍入);
第二步:计算模和余数的公式相同,但因c的值不同,求模时r = 1,求余时r = -3。
归纳:当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。
当符号不一致时,结果不一样。求模运算结果的符号和b一致,求余运算结果的符号和a一致。
另外各个环境下%运算符的含义不同,比如c/c++,java 为取余,而python则为取模。
相关文章推荐
- Java异常处理和设计
- Linux 常用命令(续1)
- 【转】MySQL 学习路线是怎样的?有哪些学习资料或网站推荐?
- ASP.NET多种不同页面间数据传递的方法
- clickonce 不能安装
- 删除庞大的MySQL binlog实操
- BZOJ 1233: [Usaco2009Open]干草堆tower|动态规划
- PackageManagerService(Android5.1)深入分析(四)安装应用
- 【转】Git 版本控制与工作流
- bootstrap在iframe框架中实现由子页面在顶级页面打开模态框(modal)
- 微信开发 之 接受信息与回复信息
- 自己写的Android图表库XCL-Charts一些旧的样例
- Android任务和返回栈完全解析,细数那些你所不知道的细节
- 第三方绘图控件 AChartEngine 浅析
- 【代码笔记】点击一个按钮会出现多个按钮的动画效果
- 请简要描述客户端发送的http request header都包含哪些内容
- Java SE 学习 第一节
- 使用Nexus搭建企业maven仓库(二)
- 【代码笔记】点击一个按钮会出现多个按钮的动画效果
- 寻找汇编大神帮我看一下这个程序