一个关于-10%3的小问题,python在运算 -10%3和 10%-3时的输出结果竟然是2和-2,但是我们自己手动运算的话结果难道不是 -1和1吗?所以记录一下吧!
在小学中关于余数的定义,在整数的除法中,只有能整除与不能整除两种情况。当不能整除时,就产生余数。也就出现了-10/3=-3...-1 10/-3=-3...1
取余数运算:
a mod b = c 表示 整数a除以整数b所得余数为c。根据高数知识,他给了具体的回应,按照这个定义 -10对3进行向下取整 ,-3点多应该为 -4。余数的计算公式:c = a -⌊ a/b⌋ * b
其中,⌊ ⌋为向下取整运算符,向下取整运算称为Floor,用数学符号⌊ ⌋表示
-10%3
带入取余公式:c = a -⌊ a/b⌋ * b --> c = -10- (-4)*3 = 2。
综合起来就是:-10/3 = -4 ...2
10%-3
带入取余公式:c = a -⌊ a/b⌋ * b --> c = 10 - (-4)*-3 = -2。
综合起来就是:10 /-3 = -4…-2 。
Python运行结果:
结语:可得好好学习数学了。。。。。。