• Math——取模运算及取余运算


    取余运算与取模运算

    取余运算(Reminder Operation)即我们小学时学的算术概念,常用于数学领域,而取模运算(Modular Operation)常用于计算机领域

    公式

    c = a/b
    a%b = a - c*b
    取余运算和取模运算的运算公式相同,区别只在于在第一步求整商时采用的取整方法不同

    取整运算

    要明白取模运算和取余运算之间的区别,首先要了解取整运算(Round Operation)

    取整运算常用的有三种,向负无穷取整,向正无穷取整,向零取整

    以lua语言为例,lua的math数学库提供三个取整函数,floor向负无穷取整,ceil向正无穷取整,modf向零取整
    (PS:lua的modf函数在取整时除了会返回取整后的值,还会返回小数点后的值作为第二个返回值)

    示例:
    a = 9
    b = 4

    a/b除法的结果取整方法有三种:

    math.floor(9/4) = 2
    math.ceil(9/4) = 3
    math.modf(9/4) = 2

    取模与取余

    取余运算在运算时,a/b除法结果的取整使用的是modf()函数,向零取整

    取模运算在运算时,a/b除法结果的取整使用的是floor()函数,向负方向取整

    示例:
    a,b都为整型操作数时,取模运算和取余运算相同,结果也为整型;否则,结果都为浮点型。

    a = 9
    b = 4

    取余运算:a/b = 2 ; a%b = 1;
    取模运算:a/b = 2 ; a%b = 1;

    a = -9
    b = 4

    取余运算: a/b = -2 ; a%b = -1;
    取模运算: a/b = -3 ; a%b = 3;

  • 相关阅读:
    占卜DIY
    飞行员兄弟
    给树染色
    国王游戏
    雷达设备
    畜栏预定
    防晒
    去雨系列论文笔记
    First day
    如何用fprintf写十六进制 并控制格式
  • 原文地址:https://www.cnblogs.com/sylvan/p/12631450.html
Copyright © 2020-2023  润新知