javascript - 为什么 0.86%1 不是零而是 0.86,因为 0.86/1 的余数为 0?

标签 javascript math modulo

如果正数的 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/

相关文章:

javascript - 选择不同选项后隐藏/显示表格

javascript - IonRangeSlider 将标签分配给值

javascript - 色彩平衡公式添加过多白色

python - 不需要列表理解乘法

c - gcc 在使用 fmod() 时出错

terminology - "modulo"是动词吗?如果是,它是如何共轭的?

javascript - Canvas toDataURL 不返回完整图像

javascript - 使用 html2canvas 捕获图像后无法加载谷歌地图

math - 如何从golang中的数组中获取偏度值

Java 逆模 2**64