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

Posted sylvan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Math——取模运算及取余运算相关的知识,希望对你有一定的参考价值。

取模运算及取余运算

取余运算(Complementation)即我们小学时学的数学算术概念,而取模运算(Modulus Operation)常用于程序设计中

公式

a%b = a - (a/b * 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;

以上是关于Math——取模运算及取余运算的主要内容,如果未能解决你的问题,请参考以下文章

Java 中的取模和取余

Python笔记-取模运算%

取模运算

java中取余运算符 (%)

位运算取余取模

C 逻辑运算, 移位运算 , 取整 , 取模(取余)