项目场景:
关于 java 与python 对 % 操作的不同
问题描述:
对于 java 与 python 取余操作运算方式不同其结果也不同
System.out.println("9 对 -4 的值为 -> " + 9 % -4); // 1
print(f"9 对 -4 的值为 -> {9 % -4}") // -3
原因分析:
取余操作可定义为 余(r) = 被操作数(a)- 操作数(b)*模(m)既 r = a - (b*m)
java 取余运算时,获得模 采用近零方式如 9 除 -4 = -2.25 则取模为 -2
r = 9 - ( -4 * -2) = 1
python 取余运算时,获得模 采用向下取模 9 除 -4 = -2.25 则模为 -3
r = 9 - (-4 * -3) = -3