我正在编写一些代码,我想出了 2 个用于从左侧环绕数组的函数。我将其命名为负模,因为它类似于使用模数从右侧环绕数组。我意识到性能影响在小范围内可以忽略不计,但我想知道哪个更有效。你们有什么感想?
static int negative_modulo(int a, int b)
{
int val1 = Math.Abs(a);
if (val1 <= b)
return b + a;
else
return b - (val1 % b);
}
static int negative_modulo2(int a, int b)
{
int val1 = Math.Abs(a);
int n = val1 / b + 1;
return a + b * n;
}