python中(负数)整除和取模运算方式

 更新时间:2024年10月12日 16:42:19   作者:Marine_zz  
Python中的取模运算符是%,它与其他语言中的取余符号相同,整除运算符是//,表示向下取整,在Python中,正数的取余和取模结果相同,但负数的取余和取模结果有所不同,取余运算在计算时向0方向舍弃小数位,而取模运算向负无穷方向舍弃小数位

python(负数)整除和取模运算

简介

  • %:取模符号(在其它语言中,是取余符号)
  • // :整除符号,向下取整,不进行四舍五入

数学描述:

  • 如果存在整数n和m,其中0 <= m < b,使得a = n * b + m,那么m=a % b = a - n * b ,n = a // b.

取余和取模的区别

  • 取余运算:在计算时向0方向舍弃小数位(遵循尽可能让商大
  • 取模运算:在计算时向负无穷方向舍弃小数位(遵循尽可能让商小)

正数取余和取模是相同的,所以只是负数取余和取模有区别

举例

直接从实例出发,分正数取余取模和负数取余取模

1、正数取余取模

正数取余和取模是相等的:

5 / 3 = 1.67
5 mod 3 = 2  (取模)
5 rem 3 = 2  (取余)

2、负数取余取模

# 取模:在计算时向负无穷方向舍弃小数位(向下取整)
-5 mod 3 = 1  
# -5 / 3 向下取整为-2,带入公式 -5 - (3 * -2) = 1
5 mod -3 = -1
# 5 / -3 向下取整为-2,带入公式 5 - (-3 * -2) = -1
-5 mod -3 = -2
# -5 / -3 向下取整为1,带入公式 -5 - (-3 * 1) = 2


# 取余:在计算时向0方向舍弃小数位(向0取整)
-5 rem 3 = -2
# -5 / 3 向0取整为-1,带入公式 -5 - (3 * -1) = -2
5 rem -3 = 2
# 5 / -3 向0取整为-1,带入公式 5 - (-3 * -1) = 2
-5 rem -3 = -2
# -5 / -3 向0取整为1,带入公式 -5 - (-3 * 1) = 2

最后注意:

  • % 在python中是取模符号
  • 在其他语言中是取余符号!!!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论