取模(mod)与取余(rem)的区别——Matlab学习笔记http://www.bieryun.com/1099.html

昨天在学习Matlab的数学函数时,教程中提到取模(mod)与取余(rem)是不同的,今天在网上具体查了一下:


通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯一的区别在于:
当x和y的正负号一样的时候,两个函数结果是等同的;当x和y的符号不同时,rem函数结果的符号和x的一样,而mod和y一样。
这是由于这两个函数的生成机制不同,rem函数采用fix函数,而mod函数采用了floor函数(这两个函数是用来取整的,fix函数向0方向舍入,floor函数向无穷小方向舍入)。
rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n = fix(x./y),而mod(x,y)返回的是x-n.*y,当y不等于0时,n=floor(x./y)

两个异号整数取模取值规律 (当是小数时也是这个运算规律,这一点好像与C语言的不太一样)

先将两个整数看作是正数,再作除法运算
①能整除时,其值为0
②不能整除时,其值=除数×(整商+1)-被除数

例:mod(36,-10)=-4
即:36除以10的整数商为3,加1后为4;其与除数之积为40;再与被数之差为(40-36=4);取除数的符号。所以值为-4。
例:mod(9,1.2)=0.6;

例:
>> mod(5,2)
ans =1                   %“除数”是正,“余数”就是正
>> mod(-5,2)
ans =1
>> mod(5,-2)
ans =-1                  %“除数”是负,“余数‘就是负
>> mod(-5,-2)
ans =-1                  %用rem时,不管“除数”是正是负,“余数”的符号与“被除数”的符号相同
>> rem(5,2)
ans =1                   %“被除数”是正,“余数”就是正
>> rem(5,-2);
ans =1
>> rem(-5,2)
ans =-1                 %“被除数”是负,“余数”就是负
>> rem(-5,-2)
ans =-1

慢慢体会,两者确实不一样

取模(mod)与取余(rem)的区别——Matlab学习笔记相关推荐

  1. 关于取模运算(mod)和求余(rem)运算

    通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用'%'符号表示取模或者求余运算.在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的 ...

  2. C++中的取余(rem)与取模(mod), 与实现fix函数

    定义 取余与取模定义并不一致, 如下: 对于整型数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余数: r = a - c*b. 求模运算和求余运算在 ...

  3. matlab 取余(rem)和取模(mod)的区别

    取余(rem)和取模(mod)的区别 Matlab 生成机制 取余:采取fix()函数,向0方向取整 取模:采取floor()函数,向无穷小方向取整 当A,B异号时(其实同号也是这个规律) 取余:结果 ...

  4. mysql取余 和 取模_java 取模运算% 实则取余 简述 例子 应用在数据库分库分表

    java 取模运算%  实则取余 简述 例子 应用在数据库分库分表 求模运算与求余运算不同."模"是"Mod"的音译,模运算多应用于程序编写中. Mod的含义为 ...

  5. python模运算求余_取模运算和取余运算

    取模运算和取余运算 取模运算( " Modulo Operation " )和取余运算 ( " Complementation " )两个概念有重叠的部分但又不 ...

  6. 【C++ 取模mod易错点】由于答案可能会很大,请你将结果对1e9+7取模后再返回

    在做算法题时我们经常会遇到这样一句话: 由于答案可能会很大,请你将结果对10^9 + 7取模后再返回 附:为什么很多程序竞赛题目都要求答案对 1e9+7 取模? 1000000007是一个质数 int ...

  7. C语言取模运算(取余运算)

    C语言取模运算(取余运算) 取模算法: 取余(取模)的奥义 C语言运用 取模算法: 取模运算也叫取余运算,在C中用%来表示, 数学中叫mod. x mod y = x%y x%y = x - y[x/ ...

  8. Python 取模运算(取余)%误区及详解

    Python 取模运算(取余)%误区及详解 首先,必须要先明确一个概念(针对新手),不要用数学求余数角度来思考模运算,python.Java等各种语言都有其不同的运行机制. python的模运算计算规 ...

  9. c语言里取余数的运算的代码,Math——取模运算及取余运算(示例代码)

    取模运算及取余运算 取余运算(Complementation)即我们小学时学的数学算术概念,而取模运算(Modulus Operation)常用于程序设计中 公式 a%b = a - (a/b * b ...

最新文章

  1. 有了jsRender,妈妈再也不用担心我用jq拼接DOM拼接的一团糟了、页面整齐了、其他伙伴读代码也不那么费劲了...
  2. 推荐一个C++练手项目,面试也可用
  3. MySQL查询字段区不区分大小写? innodb的事务与日志的实现方式?binlog的几种日志录入格式以及区别?
  4. 5 helloword 开发运行步骤
  5. Wireshark coloring rules tips
  6. java socket第三方库_Java基于Socket实现HTTP下载客户端
  7. 20191112每日一句
  8. html rgb 颜色转换,将RGBA颜色转换为HTML颜色代码
  9. NodeJS:图片验证码登录
  10. 旁轴相机,单反相机之间的区别(转)
  11. 从政府项目中总结出的B端产品账号权限管理
  12. 全系T*镀膜认证镜头 vivo X70系列夜拍体验再升级
  13. 网传美团今年应届生年薪 35w+,严重倒挂老员工,为什么互联网大厂校招的薪资一年比一年高?
  14. android图标未读消息,Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示...
  15. kmp算法例题 登山
  16. Java设计模式——备忘录模式
  17. CIE (PCI Express) 1x, 4x, 8x, 16x总线端子说明
  18. CRMEB小程序生成小程序码显示发布小程序才可以获取小程序码解决办法
  19. exchange2007 SP1升级SP2
  20. primary key主键与unique键的区别以及作用

热门文章

  1. wordpress主题-一款功能强大的综合类型wordpress模板
  2. 弹幕解析播放器json客户端解析后台管理源码
  3. Java日历打印_使用java 打印日历
  4. 1539. 第 k 个缺失的正整数
  5. PHP双码率视频云转码服务系统源码 m3u8切片秒切html5播放器 全开源
  6. Redis主从复制配置(原理剖析)
  7. 我对架构师的理解(如何成为一个合格的架构师)
  8. TV3是马来西亚第一家商营电视台
  9. Bootstrap 3 加半星 Star rating with half-stars
  10. UILabel使用自定义字体