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。

相关推荐
€8111 分钟前
Java入门级教程29——Spring Cloud:Eureka 注册发现 + MySQL 数据交互 + 负载均衡
java·开发语言·mysql·spring cloud·eureka·负载均衡
澄风2 分钟前
深入理解Java SPI:机制、原理、实战与开源框架应用全解析
java·开发语言·开源
希望永不加班3 分钟前
SpringBoot 接口测试:Postman 与 JUnit 5 实战
java·spring boot·后端·junit·postman
yzx9910136 分钟前
Java毕业设计实战:基于Spring Boot的在线图书管理系统(完整版)
java·spring boot·课程设计
zero15976 分钟前
Python 8天极速入门笔记(大模型工程师专用):第五篇-函数(def定义,大模型代码复用核心)
开发语言·python·ai编程
yaaakaaang7 分钟前
二、工厂方法模式
java·工厂方法模式
七夜zippoe8 分钟前
Python生态未来展望:从AI到科学计算——社区趋势与技术方向深度解析
开发语言·人工智能·python·技术方向·社区趋势
2601_949816358 分钟前
解决报错net.sf.jsqlparser.statement.select.SelectBody
java
Python资讯站9 分钟前
【Pycharm教程】如何让PyCharm使用Docker配置Python解释器?你只需要看这篇就够了!
python·docker·pycharm·python基础·python学习·python教学·配置python解释器
Seven9710 分钟前
MVC中的拦截器实现案例
java