2019独角兽企业重金招聘Python工程师标准>>>

取余,遵循尽可能让商向0靠近的原则取模,遵循尽可能让商向负无穷靠近的原则符号相同时,两者不会冲突。
    比如,7/3=2.3,产生了两个商2和37=3*2+1或7=3*3+(-2)。因此,7rem3=1,7mod3=1。符号不同时,两者会产生冲突。
    比如,7/(-3)=-2.3,产生了两个商-2和-37=(-3)*(-2)+1或7=(-3)*(-3)+(-2)。因此,7rem(-3)=1,7mod(-3)=(-2)

解释:为什么遵循的是这样的原则?在matlab中,关于取余和取模是这么定义的:
    当y≠0时:取余:rem(x,y)=x-y.*fix(x./y)  取模:mod(x,y)=x-y.*floor(x./y)其中,
    fix()函数是向0取整,
    floor()函数是向负无穷取整以前边的运算为例:7/(-3)=-2.3,
    在这个运算中,x为7,y为-3,分别调用fix()和floor()两个函数,
    得到结果是:fix(-2.3)=-2floor(-2.3)=-3所以,rem(7,-3)=1,mod(7,-3)=-2

通常,取模运算也叫取余运算,它们返回结果都是余数.rem(取余)和mod(取模)唯一的区别在于:
     当x和y的正负号一样的时候,两个函数结果是等同的;
     当x和y的符号不同时,rem函数结果的符号和x的一样,而mod和y一样。

例子1:
    mod(7,3)=1,rem(7,3)=1
    候选组1:(q1,r1)=(2,1)    7=2*3+1
    候选组2:(q2,r2)=(3,-2)   7=3*3+(-2)
    取模:因为q1比q2更加趋近于负无穷,所以取(q1,r1)=(2,1),mod(7,3)=1
    求余:因为q1比q2更加趋近于0,所以取(q1,r1)=(2,1),rem(7,3)=1

例子2:
    mod(7,-3)=-2,rem(7,-3)=1
    候选组1:(q1,r1)=(-2,1)    7=(-2)*(-3)+1
    候选组2:(q2,r2)=(-3,-2)   7=(-3)*(-3)+(-2)
    取模:因为q2比q1更加趋近于负无穷,所以取(q2,r2)=(-3,-2),mod(7,-3)=-2
    求余:因为q1比q2更加趋近于0,所以取(q1,r1)=(-2,1),rem(7,3)=1

例子3:
    mod(-7,3)=2,rem(-7,3)=-1
    候选组1:(q1,r1)=(-2,-1)    -7=(-2)*3+(-1)
    候选组2:(q2,r2)=(-3,2)   -7=(-3)*3+2
    取模:因为q2比q1更加趋近于负无穷,所以取(q2,r2)=(-3,2),mod(7,-3)=2
    求余:因为q1比q2更加趋近于0,所以取(q1,r1)=(-2,-1),rem(7,-3)=-1

例子4:
    mod(-7,-3)=-1,rem(-7,-3)=-1
    候选组1:(q1,r1)=(2,-1)    -7=2*(-3)+(-1)
    候选组2:(q2,r2)=(3,2)    -7=3*(-3)+2
    取模:因为q1比q2更加趋近于负无穷,所以取(q1,r1)=(2,-1),mod(7,-3)=-1
    求余:因为q1比q2更加趋近于0,所以取(q1,r1)=(2,-1),rem(7,-3)=-1

本文为博主原创文章,转载请注明出处!

https://my.oschina.net/u/3375733/blog/

转载于:https://my.oschina.net/u/3375733/blog/1551247

编程语言中,取余和取模的区别到底是什么?相关推荐

  1. 取模是什么意思python_编程语言中,取余和取模的区别到底是什么?

    取余,遵循尽可能让商向0靠近的原则取模,遵循尽可能让商向负无穷靠近的原则符号相同时,两者不会冲突. 比如,7/3=2.3,产生了两个商2和37=3*2+1或7=3*3+(-2).因此,7rem3=1, ...

  2. [深入浅出C语言]理解取整、取余和取模

    关于C语言的取模运算,也许你只了解正数取模,而从未接触过负数取模,本文就来分享一波C语言取整.取模和取余的个人学习经验与心得,希望对你有所帮助. 笔者水平有限,难免存在纰漏,欢迎指正交流. 关于取整 ...

  3. 取整、取余、取模的区别

    --------------------------------------------- -- 时间:2019-01-02 -- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163 ...

  4. 取模(mod)与取余(rem)的区别——Matlab学习笔记

    取模(mod)与取余(rem)的区别--Matlab学习笔记http://www.bieryun.com/1099.html 昨天在学习Matlab的数学函数时,教程中提到取模(mod)与取余(rem ...

  5. C语言中取余与取模的区别

    c中取余与取模区别 以前没注意过这个问题,今天查了一下,感觉过于繁琐,现在简单明了的总结一下 对于整型数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者 ...

  6. 数学运算符 +(加)、-(减)、(乘)、(除)、%(取余;取模)、(整除)、(幂运算)及分支结构

    数学运算符: +(加).-(减).*(乘)./(除).%(取余;取模).//(整除).**(幂运算) 1. +.-.*./ python的加减乘除和小学数学中的加减乘除的功能一样 print(3 + ...

  7. java中的取模和取余_取模运算

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 取模运算是求两个数相除的余数.[1] 取模运算("Modulus Operation")和取余运算(&qu ...

  8. JavaScript数学运算(取整,取余和取模)

    来源 | https://www.fly63.com 这篇文章主要介绍js取整.取余和取模的实现方法和它们之间的区别,以及Math对象的常用方法函数介绍,有需要的朋友可以参考下. 取整 在项目开发过程 ...

  9. js数学运算 取整、取余、取模

    Math 对象的方法介绍 ​ abs(x) 返回数的绝对值 1 2 3 acos(x) 返回数的反余弦值 1 2 3 asin(x) 返回数的反正弦值 1 2 3 atan(x) 以介于 -PI/2 ...

  10. python的取整和取余_python取余取整

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 取余的公式:余数=除数-被除数*商python的的余数是按照整除(向下取整)得到 ...

最新文章

  1. Python3 基础语法(笔记2)
  2. 每天一个linux命令(9):touch 命令
  3. 数学(莫比乌斯反演):HAOI 2011 问题B
  4. 正态分布的前世今生(一)
  5. NSValue包装自定义结构体
  6. android微信h5转原生支付,微信原生支付流程以及踩坑
  7. CentOS7 正确安装mysql(亲测)
  8. 二叉树前序遍历_LeetCode125|二叉树的前序遍历
  9. delphi 调用Msftedit.dll,重写Richedit,支持RTF画表格
  10. OGG表级别附加日志到底有多重要?
  11. mysql批量插入死锁的问题
  12. ORA-00932: 数据类型不一致:应为-,但却获得NCLOB
  13. BootStrap4内容系列之文字排版
  14. 微信小程序 环形进度条_微信小程序实现圆形进度条
  15. 若依框架不分离版本创建新模块(多模块版)
  16. python 读取zip包中的数据
  17. MYSQL中AS(取别名)
  18. 你也可以找到好工作(三)大结局
  19. cesium实现鹰眼地图(三维)效果
  20. SQL 保留2位小数的方法/四舍五入

热门文章

  1. 四数之和 leetcode
  2. Dijkstra最短路径算法
  3. 递归二叉树的序列打印
  4. 简单机器学习系统的构建以及对于不对称性的分类介绍和性能评价
  5. 计算机视觉图像去噪原理,AI笔记: 计算机视觉之图像滤波去噪: 原理、方法和效果比较...
  6. flutter 点击旋转动画_flutter RotationTransition实现旋转动画
  7. 霍夫变换 文本图片倾斜矫正 python实现
  8. java图的邻接表实现两种方式及实例应用分析
  9. 基础集群部署 - kubernetes-simple
  10. 2020_1123_生活记录