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。

相关推荐
日升2 分钟前
Browser-use:基于 Python 的智能浏览器自动化 AI 工具调研与实战
人工智能·python·openai
老哥不老4 分钟前
从零掌握 Playwright:用 Python 玩转现代浏览器自动化
开发语言·python·自动化
顾林海15 分钟前
深度解析LinkedList工作原理
android·java·面试
茶本无香16 分钟前
CompletableFuture:整合、超时、完成事件与批量处理
java·超时·future·completable·completion·任务整合
码界筑梦坊17 分钟前
基于大数据的美团外卖数据可视化分析系统
大数据·python·信息可视化
雷渊20 分钟前
分析@Autowired和@Resource的使用场景
java·后端·面试
whisperrr.20 分钟前
【spring02】Spring 管理 Bean-IOC,基于 XML 配置 bean
xml·java·spring
Cloud_.26 分钟前
Spring Boot整合Elasticsearch
java·spring boot·后端·elasticsearch·es
储悠然29 分钟前
Lisp语言的物联网数据分析
开发语言·后端·golang
ghostmen38 分钟前
基于Spring Boot的HTTP请求签名验证实现解析
java·spring·http