如果正数的 modulo(%) 与“remainder(r)”相同,那么为什么“0.86%1”给出“0.86”作为结果而不是“0”,因为“0.86/1 = 0.86”的余数= 0。
我见过其他问题,但没有一个问题涉及 1 个条件的调制。我能够理解这一点的唯一方法是认为 0.86 小于 1,因此不能除以 1,从而返回 0.86 作为余数。
最佳答案
你说
"0.86/1 = 0.86" with remainder=0.
嗯,只是在 5/2 = 2.5 余数为 0 的意义上,很明显这有问题,对吧?
当我们谈论余数时,商必须是整数。不可能是 2.5 或 0.86。如果你从被除数中去掉尽可能多的除数,剩下的就是余数。对于 5/2,我们有
5-2 = 3
3-2 = 1
2>1, so we can't subtract any more, and the remainder is 1
对于 0.86/1,我们有
1>0.86, so we can't subtract any copies of 1 from 0.86, and the remainder is 0.86
关于javascript - 为什么 0.86%1 不是零而是 0.86,因为 0.86/1 的余数为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41518755/