相关疑难解决方法(0)

负数的Mod正在融化我的大脑

我试图修改一个整数来获得一个数组位置,以便它循环.i % arrayLength对于正数而言做得很好,但对于负数而言,这一切都是错误的.

 4 % 3 == 1
 3 % 3 == 0
 2 % 3 == 2
 1 % 3 == 1
 0 % 3 == 0
-1 % 3 == -1
-2 % 3 == -2
-3 % 3 == 0
-4 % 3 == -1
Run Code Online (Sandbox Code Playgroud)

所以我需要一个实现

int GetArrayIndex(int i, int arrayLength)
Run Code Online (Sandbox Code Playgroud)

这样的

GetArrayIndex( 4, 3) == 1
GetArrayIndex( 3, 3) == 0
GetArrayIndex( 2, 3) == 2
GetArrayIndex( 1, 3) == 1
GetArrayIndex( 0, 3) …
Run Code Online (Sandbox Code Playgroud)

c# math modulo

175
推荐指数
8
解决办法
9万
查看次数

如何计算整数的除法和模数?

如何计算C#中整数的除法和模数?

c#

79
推荐指数
4
解决办法
27万
查看次数

C#中“%”运算符的含义和使用

我知道这是一个非常基本的问题(我对 C# 比较陌生),但不知何故我在互联网上找不到任何有关它的信息。

我只是想了解“%”运算符的作用,我以前见过应用程序并且有一些想法,但不能 100% 确定它到底做什么。

例如,下面是每 10 帧执行一次的方法(在 Unity 中):

void Update() {
     frames++;
     if (frames % 10 == 0) {
         // method
     }
}
Run Code Online (Sandbox Code Playgroud)

下面是显示的游戏时间计算:

// 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;
Run Code Online (Sandbox Code Playgroud)

在这些示例中 % 运算符到底做了什么以及我怎样才能最好地理解它。

c# operators unity-game-engine

-1
推荐指数
1
解决办法
2576
查看次数

标签 统计

c# ×3

math ×1

modulo ×1

operators ×1

unity-game-engine ×1