【发布时间】:2021-03-29 20:37:30
【问题描述】:
我知道这是一个非常基本的问题(我对 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;
% 运算符在这些示例中的具体作用以及我如何才能最好地理解它。
【问题讨论】:
-
也许我应该挖得更深一些(只需打开一个解释每个操作员的网站,比如你发给我的链接)。但是,我仍然不太明白“除法后的余数”是什么意思。为什么“5 % 4”的输出为 1?如果你将这两个除以 1.25,那么“余数”是什么?我数学不是最好的(也许是英语??),所以恐怕我有点难以理解:(
-
不@DavidB,想想看,5 中包含多少次 4? 1 次,余数为 1。因此,在您的第一个示例中,如果 frames 的每个值都是十的精确倍数,则 if 变为 true。
-
该操作称为“模”(还没有人提到)