今天在看一篇公众号文章《性能之王:最快的编程语言》,发现评论区有这么一段对话:
然后我找了下在 stackexchange 的真实提问:
https://math.stackexchange.com/questions/623449/negative-number-divided-by-positive-number-what-would-be-remainder
从回答来看,C 和 Python 的两种做法在数值计算上都是成立的。两种做法的区别在于是否允许余数为负数,或者说,符号该不该与原数值相同。
不允许余数出现负数的,是目前广泛使用的欧几里得除法。
所以“数学洁癖”会认为负值余数是错的?
|