相关疑难解决方法(0)

具有负值的模运算符

为什么这样的操作:

std::cout << (-7 % 3) << std::endl;
std::cout << (7 % -3) << std::endl;
Run Code Online (Sandbox Code Playgroud)

给出不同的结果?

-1
1
Run Code Online (Sandbox Code Playgroud)

c++

156
推荐指数
3
解决办法
13万
查看次数

使用模数时,为什么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万
查看次数

标签 统计

c++ ×2

modulo ×1

standards ×1