如何解决C#中“%”运算符的含义和使用
我知道这是一个非常基本的问题(我对 C# 比较陌生),但不知何故我在互联网上找不到任何关于它的信息。
我只是想了解“%”运算符的作用,我以前看过应用程序并且有一些想法,但我不能 100% 确定它到底是做什么的。
例如,这里有一个每 10 帧执行一次的方法(在 Unity 中):
void Update() {
frames++;
if (frames % 10 == 0) {
// method
}
}
这是显示的游戏时间计算:
// time = incremented by 1 every second
int seconds = (time % 60);
int minutes = (time / 60) % 60;
int hours = (time / 3600) % 24;
// int days = (time / 86400) % 365;
% 运算符在这些示例中的作用是什么,我如何才能最好地理解它。
解决方法
% 运算符返回除法的余数。
在第一个示例中,代码将每 10 帧执行一次,因为 帧数除以 10 的余数将每 10 帧为 0。
在第二个例子中 time 是总秒数,所以如果你做 time % 60 你会得到最后一分钟的秒数,因为分钟有 60秒,所以 time / 60 的剩余部分是最后一分钟的秒数。
基本上 num1 % num2
与 num1 - (floor(num1 / num2) * num2)
相同,其中 floor 向下舍入。
正如其他注释一样,它代表模数,通过该运算符,您可以得到除法的余数。
const quotient = 11 / 4;
// quotient will be 2;
=> 因为; 4+4+3(11 中有两个 4)
const remainder = 11 % 4;
//remainder will be 3;
=> 因为; 4+4+3(两个4后余数为3)
模运算符的另一个实际用途是您可以确定一个数字是奇数还是偶数,如下所示。
var myNumber = 5;
if (myNumber % 2 == 0) {
Console.WriteLine("Mynumber is an even number.");
} else {
Console.WriteLine("Mynumber is an odd number.");
}
,
% 运算符返回一个除法的余数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。