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。

相关推荐
LiuYiCheng12345623 分钟前
Python游戏开发:Pygame全面指南与实战
python·pygame
Code季风34 分钟前
Spring 异常处理最佳实践:从基础配置到生产级应用
java·spring boot·spring
回家路上绕了弯34 分钟前
Java 堆深度解析:内存管理的核心战场
java·jvm
Code季风35 分钟前
Spring IoC 容器性能提升指南:启动速度与运行效率优化策略
java·spring·性能优化
魔障阿Q35 分钟前
华为310P3模型转换及python推理
人工智能·python·深度学习·yolo·计算机视觉·华为
谦行44 分钟前
前端视角 Java Web 入门手册 5.10:真实世界 Web 开发—— 单元测试
java·spring boot·后端
hhua01231 小时前
理解“无界队列”与“有界队列”及其适用场景
java·队列
LZQqqqqo1 小时前
C# 接口(interface 定义接口的关键字)
java·开发语言·c#
寒水馨1 小时前
Java 9 新特性解析
java·开发语言·新特性·java9·jdk9