python中,取模运算是怎样的?

Python013

python中,取模运算是怎样的?,第1张

对于整型数a,b来说,取模运算或者求余运算的方法都是:

1.求 整数商: c = a/b

2.计算模或者余数: r = a - c*b.

求模运算和求余运算在第一步不同: 取余运算在取c的值时,向0 方向舍入(fix()函数);而取模运算在计算c的值时,向负无穷方向舍入(floor()函数)。

例如:计算-7 Mod 4

那么:a = -7;b = 4;

第一步:求整数商c,如进行求模运算c = -2(向负无穷方向舍入),求余c = -1(向0方向舍入);

第二步:计算模和余数的公式相同,但因c的值不同,求模时r = 1,求余时r = -3。

归纳:当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。

当符号不一致时,结果不一样。求模运算结果的符号和b一致,求余运算结果的符号和a一致。

另外各个环境下%运算符的含义不同,比如c/c++,java 为取余,而python则为取模。

Python中的取模运算符用于求余数。它通常写作%,并用于计算两个整数相除时的余数。例如,如果我们将9除以4,得到2,余数为1,因此9 % 4等于1。

>>>9 % 4

1

在Python中,取模运算符可用于任何整数,包括正整数、负整数和0。例如,以下代码演示了使用取模运算符来计算几个负整数的余数:

>>>-9 % 4

3

>>>-8 % 3

2

>>>-7 % 2

1

对于该算术运算符: % ,取模运算存在如下定理:

对于一个正整数而言,一定存在等式 ,代表可以被拆分成最多个并且余下一个 ,此时称 。

例如:正整数 17,存在等式 17 = 3 * 5 + 2,即 17 % 5 = 2.

这里介绍一下数学中的一种运算, 取余运算 。

两者在对正整数的运算中完全没有区别,但是对于负整数的运算,则会存在一定的区别。

但是要记住下面这句话,就可以很好的进行区分:

取余公式中的k要向0靠拢,也就是如果大于等于0,那就要向下取整;如果小于0,那就要向上取整。

取模公式中的k要向负无穷靠拢,不管什么情况,都是向下取整。

或者是

向上取整 math.ceil() 可以理解成 要选择大于等于该数值的整数部分的最小整数;

向下取整 math.floor() 可以理解成 要选择小于等于该数值的整数部分的最大整数。

也就是:

下面做些实际运算,加深一下印象: