Python中的取模运算和取余运算

时间:2024-03-09 09:59:22

  取模运算和取余运算是两个概念,虽然他们有重叠部分,但又不一致。不一致的地方在于对负整数进行除法时,操作不一样。
  对于整数 a 和 b,进行取模运算和取余运算可以总结分为 2 个步骤:
  1. 计算整数商: c = 取整(a / b);
  2. 计算模或余数:r = a - c * b .
  两者的区别就在于第 1 步中的计算整数商不同,取模是向负无穷方向取整(即向下取整),取余是向 0 方向取整(即商大于 0 时向下取整,小于0时向上取整)。 

  Python3 中两个运算实现方式:

 1 # 取模,Python中可直接用%,计算模,r = a % b
 2 def mod(a, b):    
 3     c = a // b
 4     r = a - c * b
 5     return r
 6 
 7 # 取余 
 8 def rem(a, b):
 9     c = int(a / b)
10     r = a - c * b
11     return r