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。

相关推荐
hi星尘1 小时前
深度解析:基于Python的微信小程序自动化操作实现
python·微信小程序·自动化
Doker 多克2 小时前
Django 缓存框架
python·缓存·django
大学生亨亨2 小时前
go语言八股文(五)
开发语言·笔记·golang
raoxiaoya2 小时前
同时安装多个版本的golang
开发语言·后端·golang
此木|西贝3 小时前
【设计模式】享元模式
java·设计模式·享元模式
miracletiger4 小时前
uv 新的包管理工具总结
linux·人工智能·python
我不会编程5554 小时前
Python Cookbook-6.10 保留对被绑定方法的引用且支持垃圾回收
开发语言·python
ʚɞ 短腿欧尼4 小时前
关系数据的可视化
python·pycharm·可视化·数据可视化·图表
李少兄4 小时前
解决Spring Boot多模块自动配置失效问题
java·spring boot·后端