Java模数概念 - 算术定义(a / b)* b +(a%b)

时间:2015-09-08 01:20:45

标签: java definition modulo modulus

我最近开始学习代码(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。我知道我的基本数学代数,所以我希望有人可以告诉我它应该如何相等?

1 个答案:

答案 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