5%5为0
5%4是1
5%3是2
5%2是1
5%1是0
那是为什么?根据我的理解,模数只是打印出它是否有余数,但是我在这里显然是错误的。
还有5%10打印出5,而“%10”似乎始终打印出任何值的最后一个数字。 123%10是3,出于某种原因。
这是怎么回事?
x = 5%2;
y = 123%10;
答案 0 :(得分:0)
据我了解,模数只是打印出它是否有余数,但我在这里显然是错误的。
您是对的,但前提是您认识到自己是错的。
您认为太复杂了:模数不是是否存在余数的决定,而是是。 0因此表示“无提示”,因此可以在布尔上下文中使用模运算。
这显然留下了“除法余数”的含义。
划分本身就是一个问题:“如果我有X个对象并将其分配给Y个对象,每个接收者会得到多少?”
当我可以分割一个对象时,结果会有所不同。
假设我有25欧元(或$或其他金额),并希望将其分发给4个人。然后我们都假设每个人都有权获得6,25€。但是,如果我服从于1欧元硬币会怎样?然后我只能向每个人分配6欧元,剩下的1欧元将无法以公平的方式分配。
所以这显示了25/4的两个可能结果:
换句话说:x / y
的其余部分是x - (x / y) * y
的结果。
如果仍有任何疑问,维基百科也有关于modulo operation的问题。