对于正数与正数之间或负数与负数来说没有区别。

# 取模,Python中可直接用%,计算模,r = a % b
def mod(a, b):
    c = a // b   #使得商趋向负无穷
    r = a - c * b
    return r

# 取余
def rem(a, b):
    c = int(a / b)   #使得商趋向0
    r = a - c * b
    return r
a=7
b=3
c=-7
d=-3
print(mod(a,b),rem(a,b))  #1 1
print(mod(c,d),rem(c,d))  #-1 -1

对于正负数之间有区别:

a1=-7
b1=3
print(mod(a1,b1),rem(a1,b1))  #2 -1

在python中的%运算符是进行的取模运算,而在c/c++、Java等中则是取余运算

在python中取模运算使得商---->负无穷

取余运算使得商---->0

因为同符号数运算得到的商是正数,这时无论是趋向0还是负无穷在数轴上都是一个方向,所以同符号数其实不影响。

取模和取余的区别_取余 取模-CSDN博客

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐