zoukankan      html  css  js  c++  java
  • 模运算

    取模运算

    背景

    取模运算(mod)和取余运算(rem)两个概念有重叠的部分,但又不完全一致;主要区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中;取余则更多是数学概念。

    取模和取余的区别

    • 取余运算 在计算商值时 商值向0方向舍入;靠近0原则
    • 取模运算 在计算商值时 商值向负无穷方向舍入;尽可能让商值小的原则(不超多商值的最大值)

    计算步骤

    假设有整数a和b,那么取模/取余运算可以分为两步运算:

    1. 求整数商:c = a/b;
    2. 计算模/余数:r = a - (c*b);
    3. 总计算模/余数:a mod b = a - b[a/b] ([a/b]表示整数商)

    例子

    取模

    简述商值 取模值
    5 mod 3 = 2 5/3 = 1.66 商取小原则 商=1 5 - 3 * 1 = 2 2
    -5 mod 3 = 1 -5/3 = -1.66 商取小原则 商=-2 -5 - (3 * -2) = 1 1
    5 mod -3 = -1 5/-3 = -1.66 商取小原则 商=-2 5 - (-3 * -2) = -1 -1
    -5 mod -3 = -2 -5/-3 = 1.66 商取小原则 商=1 -5 - (-3 * 1) = 2 -2

    取余

    简述商值 取余值
    5 rem 3 = 2 5/3 = 1.66 商靠0原则 商=1 5 - 3 * 1 = 2 2
    -5 rem 3 = -2 -5/3 = -1.66 商靠0原则 商=-1 -5 - (3 * -1) = - 2 -2
    5 rem -3 = 2 5/-3 = -1.66 商靠0原则 商=-1 5 - (-3 * -1) = 2 2
    -5 rem -3 = -2 -5/-3 = 1.66 商靠0原则 商=1 -5 - (-3 * 1) = - 2 -2

    java 中 % 是取余运算;Python中 % 是取模运算

    模的理解

    “模”是指一个计量系统的计数范围;如时钟,12个整点为计算范围,则模为12;计算机也是一个计量机器,模为32位或者64位;


    引用自:https://www.jianshu.com/p/5e1a83e8be3b

    你要灿若星海
  • 相关阅读:
    c语言中的隐式函数声明(转)
    static关键字
    Eclipse中spring项目的XML文件的问题
    spring 中c3p0的优化配置
    Mysql通过SQL脚本复制表
    tomcat 设置内存
    删除无限循环的文件夹-删除递归文件夹
    使用cnpm代替npm
    数据库框架的log4j日志配置
    Win7删除远程连接历史记录
  • 原文地址:https://www.cnblogs.com/67-Min/p/13246189.html
Copyright © 2011-2022 走看看