【思维导图笔记】一图带你读懂 取模(求余)‘%’运算定义及其性质
文末的附图:
定义
就是除法中的求余 ,C语言中记作 a%b
具体步骤
- 求 整数商: c = [a/b];
- 计算模或者余数: r = a - cb.
注意:数学中,取模 != 取余
取模运算在计算c的值时,向负无穷方向舍入(floor()函数)。
取余运算在取c的值时,向0 方向舍入(fix()函数);
例如a= -7,b=4 , a/b=1.75, 取模时向无穷方向取整C= -2 , 取余时向0方向取整 C=-1
C取值的不同影响取模取余的运算结果
取模的例子
-7 Mod 4
第一步,-7/4向负无穷取整,C= -2
第二步,-7 Mod 4 = r = (-7) - (-2)4= -7+8=1
求余的例子
-7 Mod 4
第一步,-7/4向0取整,C= -1
第二步,-7 Mod 4 = r = (-7) - (-1)4= -3
重要提示:
C语言中,%为求余运算
python中,%为取模运算
例如文末图1、2
C语言中%的作用
判断整除
映射
得到某些位置的数,例如123分别获取 个 十 百 的位数
%有用的性质
所求余数的符号与被除数相同,例如文末图3
(a+b)%q=(a%q+b%q)%q
(ab)%q=(a%qb%q)%q
利用这些性质可以避免一些庞大的计算,例如当a和b都非常大的时候,ab就有可能溢出