如何在 C# 中计算整数的除法和模数?
如何在 C# 中计算整数的除法和模数?
How can I calculate division and modulo for integer numbers in C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何在 C# 中计算整数的除法和模数?
How can I calculate division and modulo for integer numbers in C#?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
以下是 MSDN 文档 的答案。
Here's an answer from the MSDN documentation.
还有
Math.DivRem
There is also
Math.DivRem
有趣的事实!
“取模”运算定义为:
参考:模数运算
所以你可以推出自己的,虽然它会比内置的 % 运算符慢得多:
编辑:哇,原来在这里说错了,感谢 @joren 抓住我
现在在这里我依赖于这样一个事实,即 C# 中的 除法 + 强制转换为 int 是等价于Math.Floor(即,它删除了分数),但“true”实现将类似于:
事实上,您可以通过以下方式看到%和“true modulus”之间的差异以下:
结果:
Fun fact!
The 'modulus' operation is defined as:
Ref:Modular Arithmetic
So you could roll your own, although it will be FAR slower than the built in % operator:
Edit: wow, misspoke rather badly here originally, thanks @joren for catching me
Now here I'm relying on the fact that division + cast-to-int in C# is equivalent to
Math.Floor
(i.e., it drops the fraction), but a "true" implementation would instead be something like:In fact, you can see the differences between % and "true modulus" with the following:
Results:
使用
/
运算符执行除法:使用
%
运算符执行除法:Division is performed using the
/
operator:Modulo division is done using the
%
operator:余数:a%b
示例: 5 % 3 = 2
除法:
两个变量都是整数的情况: 5/3 = 1
小数和所需整数的情况: Math.Floor(5/3)
或 5/3 - (5%3)/3 如果您不想使用数学课
Remainder: a % b
example: 5 % 3 = 2
Divide:
case both variables are integer: 5/3 = 1
case decimal and neeeded integer: Math.Floor(5/3)
or 5/3 - (5%3)/3 if you dont want to use the Math Class
从用户处读取两个整数。然后计算/显示余数和商,
Read two integers from the user. Then compute/display the remainder and quotient,