相关疑难解决方法(0)

C 中负数的模

在 C 语言中,以下代码...

#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#include<stdlib.h>

int main() {
   int result = (-12) % (10);
   printf("-12 mod 10 = %d\n",result);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

给出这个输出

> gcc modTest.c
> ./a.out
-12 mod 10 = -2
Run Code Online (Sandbox Code Playgroud)

但根据这个 mod 计算器-12 mod 10 = 8

在Python中...

> python
Python 3.3.0 (default, Mar 26 2013, 09:56:30)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> (-12) % (10)
8
Run Code Online (Sandbox Code Playgroud)

C 中发生了什么,产生 -2 而不是 …

c negative-number modulus

5
推荐指数
1
解决办法
3587
查看次数

4
推荐指数
1
解决办法
492
查看次数

为什么 Python 的模运算符 (%) 与欧几里德定义不匹配?

欧几里得的定义说,

\n\n
\n

给定两个整数 a 和 b,且 b \xe2\x89\xa0 0,存在唯一整数 q 和 r,使得 a = bq + r 且 0 \xe2\x89\xa4 r < |b|,其中 |b| 表示b的绝对值。

\n
\n\n

根据以下观察,

\n\n
>>> -3 % -2   # Ideally it should be (-2 * 2) + 1\n-1\n>>> -3 % 2    # this looks fine, (-2 * 2) + 1 \n1\n>>> 2 % -3    # Ideally it should be (-3 * 0) + 2\n-1\n
Run Code Online (Sandbox Code Playgroud)\n\n

看起来%运营商正在按照不同的规则运行。

\n\n

python

3
推荐指数
1
解决办法
1026
查看次数

Python中的负数模数

23 % -5 = -2
23 % 5 = 3
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释我是如何理解这一点的,因为明天我会参加考试.我想说,因为-5 * -5 =25那时25 -2 = 23他们是怎么得到的23.它是否正确?

python modulus

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

标签 统计

python ×3

c ×2

modulus ×2

java ×1

modulo ×1

negative-number ×1