Post

【Python】除法舍入问题

Python的除法分为普通除法(/)和整数除法(//),普通除法返回浮点数,整数除法只保留整数部分(向下取整) 取整函数:int()是向零取整,math.floor()是向下取整

余数的符号与除数相同

以下等式恒成立:

1
2
x // y == floor(x / y)
x == (x // y) * y + x % y
 x / yx // yint(x / y)floor(x / y)x % y
x=5, y=22.52221
x=-5, y=2-2.5-3-2-31
x=5, y=-2-2.5-3-2-3-1
x=-5, y=-22.5222-1

在C++和Java中,除法是向零取整的整数除法,余数的符号与被除数相同

以下等式恒成立:

1
x == (x / y) * y + x % y
 x / yx % y
x=5, y=221
x=-5, y=2-2-1
x=5, y=-2-21
x=-5, y=-22-1
This post is licensed under CC BY 4.0 by the author.