了解模数

时间:2015-08-31 17:39:36

标签: modulus

我真的不明白模数除法是如何工作的。我正在计算5%6,结果是5,我不明白为什么。 我理解没有小数值的模数。 E. G 16%3 = 5 r 1.

4 个答案:

答案 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;从左到右阅读,就像分裂一样。