取模和取余的区别

其实取模和取余在目标上是一致的,但是因为语言对取余和取模上定义的不同,导致得到的结果不同。

对取余和取模定义不同的语言中,两者的不同点只有一个

取余运算在计算商值向0方向舍弃小数位
取模运算在计算商值向负无穷方向舍弃小数位

从上面的区别可以总结出,取余(rem)和取模(mod)在被除数、除数同号时,结果是等同的,异号时会有区别,所以要特别注意异号的情况。

下面来看一些例子

取模

5 mod 3 = 2
-5 mod 3 = 1
5 mod -3 = -1
-5 mod -3 = -2
取余

5 rem 3 = 2
-5 rem 3 = -2
5 rem -3 = 2
-5 rem -3 = -2
经过测试,在C/C++, C#, JAVA, PHP这几门主流语言中,’%’运算符都是做取余运算,而在python中的’%’是做取模运算。

此外,余数在数学中的定义是始终大于等于0的,而对于某些编程语言的取余运算不是按照上面的定义来执行的,因此才会出现余数小于0的情况。

说了这么多,我们在使用取模(取余)运算时要注意的地方有一个,当除数和被除数出现异号的情况时,程序移植的时候要特别小心,因为不同语言对取模和取余的定义可能是不同的。

部分参考:http://blog.csdn.net/chensilly8888/article/details/42834697

异号情况下:5/-3商约等于-1.66 取余的话 商往0靠 就应该是-1 5-(-3)(-1) = 2 取模的话 商往负无穷靠 就应该是-2 5-(-3)(-2) = -1 同号情况下:因为商肯定是正数 所以都是往一个方向靠 比如5/3商约等于1.6 不管取模或者取余 都应该是5-3*1=2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

写代码个人体会

主干代码不要写在分支中看看代码是否真的需要判断,不需要判断的就没有必要加判断打分支经量让更多的代码写在分支中 不要写的过于分散if语句最好不要超过两层 ,如果if语句超过两层的话就要考虑重新调整逻辑for语句最好不要超过两层,如果for语句超过两层的…

前端学习(1821):前端面试题之封装函数之去重

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><script type"text/javascript">/** 1.创建一个新数组,把原数组中的第一个元素插入到新数组中* 2.遍历原数组中的…

HandlerInterceptor拦截器的使用

https://blog.csdn.net/sinat_32023305/article/details/81284518

天猫整站SSM-分页-limit(做个人学习笔记整理用)

数据库使用的是mysql 要想在Mybatis中使用分页查询&#xff0c;首先要清楚mysql中limit的用法。 limit a,b a是从第a1条数据开始&#xff0c;b是指读取几条数据 例如&#xff1a;select * from table limit 0,10 这句sql语句是说从表中获取第1条开始的10条记录

spingboot 集成swagger2

https://www.cnblogs.com/jtlgb/p/8532433.html https://blog.csdn.net/qq_41446768/article/details/87936748

天猫整站SSM-分页-herf(做个人学习笔记整理用)

天猫整站SSM-分页-&#xff08;做个人学习笔记整理用&#xff09;<li ><a href"?start${page.start-page.count}" aria-label"Previous" ><span aria-hidden"true">‹</span></a> </li>如&#xff1a;<…

Lab1--关于安装JUnit的简要描述

安装JUnit的过程描述&#xff1a; 下载两个jar包&#xff1a; hamcrest-all-1.3.jar junit-4.12.jar 注意在导入完成jar包之后不要随意改变jar包的路径。 创建java程序&#xff0c;书写如下代码进行测试&#xff1a; triangle.java package triangle; public class triangle { …

天猫整站SSM-分页-总结(做个人学习笔记整理用)

天猫整站SSM-分页-herf&#xff08;做个人学习笔记整理用&#xff09; 先写Page.java package com.how2java.tmall.util;public class Page {private int start; //开始页数private int count; //每页显示个数private int total; //总个数private String param; //参数privat…

Java 图片流和base64互转

https://www.jianshu.com/p/ffb1f7e85530

ParameterizedType应用,利用java反射获取参数化类型的class实例

https://blog.csdn.net/ltaihyy/article/details/78211274 public class TestParameterizedType extends RequestApiParam<UserDispatchMakeInfoDTO1> {public static void main(String[] args) {Class clazz1TestParameterizedType.class;/*** 父类的参数类型不能是泛型…

天猫整站SSM-后台分类管理-增加(做个人学习笔记整理用)

天猫整站SSM-后台分类管理-增加&#xff08;做个人学习笔记整理用&#xff09; CategoryController&#xff1a; request.getSession().getServletContext()// 获取的是page的上下文。 request.getSession().getServletContext().getRealPath(“”); 是获取的的tamcat的路径&a…

Java中的Type接口和Class类有什么区别

https://blog.csdn.net/linghuainian/article/details/86137810

canvas 在线画图

canvas 在线画图 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style type"text/css">/*画图大师来了*/#cans{border:1px solid red;}</style><scrip…

java使用validator进行校验

https://blog.csdn.net/dream_broken/article/details/53584169 public class BeanValidator {// private static Validator validator SpringContextHolder.getBean(Validator.class);/*** 验证某个bean的参数** throws ValidationException 如果参数校验不成功则抛出此异…

Delphi iOS 开启文件共享 UIFileSharingEnabled

Apple 在 iOS 提供了文件共享&#xff08;FileSharing&#xff09;功能&#xff0c;让 App 有一个对外窗口的目录&#xff0c;透过 iTunes 可以任意管理这个目录的文档内容&#xff08;可拖入文档&#xff0c;也能将文档拖出备份&#xff09;。 如果 App 需要文件共享&#xff…

iOS:iOS开发系列–打造自己的“美图秀秀”(中)

来源&#xff1a; KenshinCui 链接&#xff1a;http://www.cnblogs.com/kenshincui/p/3959951.html 其他状态设置 常用的图形上下文状态设置上面基本都用到了&#xff0c;我们不再一一解释&#xff0c;这里着重说一下叠加模式和填充模式&#xff0c;初学者对于这两个状态设置…

Validator 使用总结

https://blog.csdn.net/weixin_37509652/article/details/80676693

ubuntu ifconfig只有lo没有ens33的问题

如果ifconfig只显示了lo&#xff0c; ifconfig -a 却正常显示ens33。那么可以按照如下的操作&#xff1a; service network-manager stop rm /var/lib/NetworkManager/NetworkManager.state service network-manager start 即可恢复网络连接

Spring4.0学习笔记(3) —— Spring_Bean之间的关系

1、继承关系 bean-relation.xml <?xml version"1.0" encoding"UTF-8"?> <beansxmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:p"http://www.spring…