Go、Python、Java、JavaScript等语言的求余(取模)计算

余数符号规则:

Go(%):

余数与被除数符号一致

Java(%):

余数与被除数符号一致

JavaScript(%):

余数与被除数符号一致

Python(%):

余数与除数符号一致

Excel(MOD):

余数与除数符号一致

具体验证如下:

编程语言 运算符 结果正负性 版本 示例 示例结果 对应的商 求商公式
go % 被除数一致 go1.18.2 fmt.Println(-9 % 5)
fmt.Println(9 % -5)
fmt.Println(-2 % 7)
fmt.Println(2 % -7)
fmt.Println(-4 % -6)
fmt.Println(4 % 6)
-4
4
-2
2
-4
4
-1
-1
0
0
0
0
fmt.Println(-9 / 5)
fmt.Println(9 / -5)
fmt.Println(-2 / 7)
fmt.Println(2 / -7)
fmt.Println(-4 / -6)
fmt.Println(4 / 6)
python % 除数一致 python 3.8.5 print(-9 % 5)
print(9 % -5)
print(-2 % 7)
print(2 % -7)
print(-4 % -6)
print(4 % 6)
1
-1
5
-5
-4
4
-2
-2
-1
-1
0
0
print(-9 // 5)
print(9 // -5)
print(-2 // 7)
print(2 // -7)
print(-4 // -6)
print(4 // 6)
excel MOD 除数一致 Excel 2007 MOD(-9 , 5)
MOD(9 , -5)
MOD(-2 , 7)
MOD(2 , -7)
MOD(-4 , -6)
MOD(4 , 6)
1
-1
5
-5
-4
4
-2
-2
-1
-1
0
0
INT(-9 / 5)
INT(9 / -5)
INT(-2 / 7)
INT(2 / -7)
INT(-4 / -6)
INT(4 / 6)
javaScript % 被除数一致 Chrome/120.0.6099.109 console.log(-9 % 5);
console.log(9 % -5);
console.log(-2 % 7);
console.log(2 % -7);
console.log(-4 % -6);
console.log(4 % 6);
-4
4
-2
2
-4
4
-1
-1
0
0
0
0
java % 被除数一致 JDK 1.8.0_201 System.out.println(-9 % 5);
System.out.println(9 % -5);
System.out.println(-2 % 7);
System.out.println(2 % -7);
System.out.println(-4 % -6);
System.out.println(4 % 6);
-4
4
-2
2
-4
4
-1
-1
0
0
0
0
System.out.println(-9 / 5)
System.out.println(9 / -5)
System.out.println(-2 / 7)
System.out.println(2 / -7)
System.out.println(-4 / -6)
System.out.println(4 / 6)

解释说明:

对于整数a,b来说,取模运算或者取余运算的方法分如下两步进行:

  1.         求整数商c = a/b
  2.         计算模或者余数r = a - (c * b)

取模运算和取余运算的差别在于:

  •         取模运算在计算整数商时,采用的是向无穷小的方向取整。
  •         取余运算在计算整数商时,采用的是向0的方向取整。

所以,取余结果的符号和被除数一致,取模结果的符号和除数一致。

故:

Java、go、c、c++、JavaScript中%为取余运算;

python和excel中的MOD()一样,都是取模运算。

-9除以5商-1余-4。

你可能感兴趣的:(python,java,go,golang,python,java)