我最近开始学习代码(Java),并且根据15.17.3节在Oracle网站上查找了模数运算符。以下链接:
http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.17.3
基本上,如果a
是分母,而b
是提名者,它会声明:(a/b) * b + (a%b) = a
,它将模数运算符定义为:a%b = a – (a/b) * b
。
我感到困惑,因为这个等式根本不起作用,可以简化为a%b = 0
。我知道我的基本数学代数,所以我希望有人可以告诉我它应该如何相等?
答案 0 :(得分:1)
对于整数,运算符/
表示积分除法,而不是数学除法,例如:
7/2 = 3
6/2 = 3
5/2 = 2
4/2 = 2
3/2 = 1
2/2 = 1
1/2 = 0
在数学术语中,java规范中的公式将写成:
⌊a/b⌋ * b + (a%b) = a
a%b = a – ⌊a/b⌋ * b