我真的不明白模数除法是如何工作的。我正在计算5%6,结果是5,我不明白为什么。 我理解没有小数值的模数。 E. G 16%3 = 5 r 1.
答案 0 :(得分:1)
您的计算问题5 % 6
是它总是会给你剩余的5.如果您尝试了6 % 5
,那么您将获得1作为答案。
答案 1 :(得分:1)
这不是一个编程问题,因为模数是一个数学运算符,完全不是Java或任何编程语言所独有的,但是5 mod 6 = 5,因为它是除以6之后的余数(5 <6所以余数是 5)。 6 mod 5 = 1,as 6> 5,所以你减去5,然后你留下1和1&lt; 6。
如果有帮助,这里是模数的伪代码图示(正整数):
integer mod(integer a, integer b) {
if a < b:
return a
else:
return mod(a - b, b)
}
答案 2 :(得分:0)
num1 % num2
模数运算符将num1除以num2 作为整数(换句话说,除法的所有结果都被舍入向下到最接近的整数)并输出余数。在您的情况下,5/6 = 0,余数为5.
表达其余部分的另一种方式是:
num1 = x*num2 + R
其中x是整数除num1/num2
的结果,R是余数,它是模块运算符的输出。在您的情况下,5 = 0*6 + 5
。
答案 3 :(得分:0)
模数运算符类似于&#34;余数&#34;,但是当涉及负数时,存在一些技术性因素。
但是,对于您的示例,将5%6视为&#34;将5的剩余部分视为6&#34;从左到右阅读,就像分裂一样。