Go、Python、Java、JavaScript等语言的求余(取模)计算
2023-12-19 21:44:59
余数符号规则:
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来说,取模运算或者取余运算的方法分如下两步进行:
- ????????求整数商
c = a/b
- ????????计算模或者余数
r = a - (c * b)
取模运算和取余运算的差别在于:
- ????????取模运算在计算整数商时,采用的是向无穷小的方向取整。
- ????????取余运算在计算整数商时,采用的是向0的方向取整。
所以,取余结果的符号和被除数一致,取模结果的符号和除数一致。
故:
Java、go、c、c++、JavaScript中%为取余运算;
python和excel中的MOD()一样,都是取模运算。
-9除以5商-1余-4。
文章来源:https://blog.csdn.net/libie_lt/article/details/135092338
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!