相关疑难解决方法(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万
查看次数

带负数的模运算

在ac程序中我正在尝试以下操作(只是检查行为)

 x = 5 % (-3);
 y = (-5) % (3);
 z = (-5) % (-3); 

printf("%d ,%d ,%d", x, y, z); 
Run Code Online (Sandbox Code Playgroud)

给我输出为(2, -2 , -2)gcc.我每次都期待一个积极的结果.模数可以为负数吗?任何人都可以解释这种行为吗?

c gcc modulo

172
推荐指数
8
解决办法
18万
查看次数

使用模数时,为什么C++输出负数?

数学:

如果你有这样的等式:

x = 3 mod 7
Run Code Online (Sandbox Code Playgroud)

x可以是...... -4,3,10,17 ......,或更一般地:

x = 3 + k * 7
Run Code Online (Sandbox Code Playgroud)

其中k可以是任何整数.我不知道为数学定义了模运算,但因子环肯定是.

Python:

在Python中,当您使用%正数时,您将始终获得非负值m:

#!/usr/bin/python
# -*- coding: utf-8 -*-

m = 7

for i in xrange(-8, 10 + 1):
    print(i % 7)
Run Code Online (Sandbox Code Playgroud)

结果是:

6    0    1    2    3    4    5    6    0    1    2    3    4    5    6    0    1    2    3
Run Code Online (Sandbox Code Playgroud)

C++:

#include <iostream>

using namespace std;

int main(){
    int m = 7;

    for(int i=-8; i …
Run Code Online (Sandbox Code Playgroud)

c++ standards modulo

52
推荐指数
3
解决办法
2万
查看次数

ANSI C或ISO C是否指定-5%10应该是什么?

我似乎记得ANSI C没有指定当模运算符的操作数为负时应该返回什么值(只是它应该是一致的).它是否稍后被指定,或者是否总是被指定并且我记得不正确?

c c99 modulo c89

19
推荐指数
1
解决办法
2282
查看次数

为什么C和Ruby之间的模运算符(%)的行为对于负整数是不同的?

我在这里运行一些代码.我试过了-40 % 3.它给了我输出2.当我在C中执行相同的操作时,我得到:

int i = (-40) % 3
printf("%d", i);
Run Code Online (Sandbox Code Playgroud)

输出是

-1
Run Code Online (Sandbox Code Playgroud)

两种语言如何在内部执行模运算?

c ruby math implementation modulo

2
推荐指数
1
解决办法
1302
查看次数

标签 统计

modulo ×5

c ×3

math ×2

c# ×1

c++ ×1

c89 ×1

c99 ×1

gcc ×1

implementation ×1

ruby ×1

standards ×1