我可以写程序
int a = 3;
int b = 4;
Console.WriteLine(a % b);
我得到的答案是 3。如何 3 mod 4 = 3 ???
我无法弄清楚这是如何以这种方式计算的。
我不太确定会发生什么,但我不知道余数是 3。
所以你有 3 个 cookie,你想把它们平均分配给 4 个人。
因为人比 cookie 多,所以没有人得到 cookie ( quotient = 0),而你自己还有3 个cookie。:)
因为 3 / 4 的余数 = 3。
3 mod 4 是 3 除以 4 的余数。
在这种情况下,4 进入 3 零次,余数为 3。
我发现答案令人困惑和误导......
模数是在将第二个数字尽可能多地除以之后剩下的第一个数字。
1 % 1 = 0 because after dividing 1 into 1, one time, there's nothing left
2 % 1 = 0 because after dividing 1 into 2, two times, there's nothing left
1 % 2 = 1 because 2 won't go into 1, so 1 is left
我已经认为用户可能已经理解了答案。因为有这么多优秀的程序员..用简单的措辞%
告诉你除以你自己的整数后的提醒。
例如
int a = int.Parse(Console.ReadLine());
int b = a % 2;
现在你输入 13,它会给出 1,因为在简单的数学中将 13 除以 2 余数是 1。希望你明白了。
正如其他人所解释的,但如果您不想使用“mod”运算符。这是计算“a”的余数除以“n”的等式
a-(n* int(a/n))
另一个“正如其他人所解释的那样”,但如果您对其他几种计算模数的方法(或使用替代方法)感到好奇,您可以阅读这篇文章,它对几种不同的方法进行了基准测试。
基本上,最快的方法是老式的模数运算符,类似于:
if (x % threshold == some_value)
{
//do whatever you need to
}