我是编程的新手,试图了解这个问题的幕后情况。
Microsoft的程序员计算器和科学计算器使用相同的输入提供不同的结果。例如,-5 % 10 = -5
位于程序员计算器中,而-5 % 10 = 5
位于科学计算器中。
fun getRemainder(dividend: Double, divisor: Double){
var remainder = dividend % divisor
return println("$remainder")
}
fun main() {
getRemainder(-5.0, 10.0)
}
我希望-5 % 10
的输出为5
,但实际输出为-5
,即使它不在可能的答案为0..9
的范围内。为什么?
数字行
使用科学计算器得出的x % 5
和-x % 5
的结果
-5 -4 -3 -2 -1 0 1 2 3 4 5
红利
_ 0 1 2 3 4 0 1 2 3 4 0
结果
使用编程计算器得出x % 5
和-x % 5
的结果
-5 -4 -3 -2 -1 0 1 2 3 4 5
红利
_ 0 -4 -3 -2 -1 0 1 2 3 4 0
结果