0

所以我试图理解模数,但由于我有一个小的学习障碍,我一直在苦苦挣扎。我的问题是如何确定模方程的余数。如果 27%16=11 你怎么得到十一是我不明白的?

4

8 回答 8

5

如果你有 a % b = c,那么 c 是 a 除以 b 的余数。也就是说,如果你反复从 a 中减去 b,直到你不能再减去而不使它成为负数,那么得到的数字将是 c。

或者,如果您知道 / 运算符在大多数具有整数除法的编程语言中是如何工作的,如果 a % b = c,则 c 是满足 ((a / b) * b) + c = a 的数字。

于 2013-08-21T05:01:12.357 回答
1

模数是“余数”运算符。

考虑划分

27 / 16 = 1 r 11

2716均匀的1时间除,并且有一个余数(用 表示r11。那么在整数除法的上下文中

27 / 16 = 1    <-- The integral number of times the right operand divides evenly into 
                   the left (the number left of the 'r' from above)

27 % 16 = 11   <-- The 'remainder' of the division of left value by the right
                   (the number right of the 'r' above)

代数上 if k = x % y, thenx - k可以被整除y

于 2013-08-21T05:01:57.100 回答
0

27 是 (16 * 1) + 11。这里的十一是“余数”。这就是你获得模数的方式

于 2013-08-21T05:00:36.340 回答
0

您需要检查 27 中有多少次 16(即 1),然后您只需减少:

27 - (16 * 1) = 11

于 2013-08-21T05:01:12.037 回答
0

请按照以下步骤操作

  1. 用分子除以分母
  2. 如果余数大于分母 { 则将余数设为新分子并重复步骤 1、2 }else{

                     remainder is the  result
                      } 
    
于 2013-08-21T05:02:56.080 回答
0

当您将一个数字除以另一个数字时,您可以在 Java 等语言中以两种方式进行。

如果您通过这样做使用浮点数,27.0 / 16.0您会得到一个包含整数和小数部分的数字,例如1.6878这就是1+11/16所谓11的余数。

如果您使用整数,那么您必须使用两种不同的操作来获得整数和小数。你可以做得到27 / 16整数结果1,你可以做得到27 % 16余数11

于 2013-08-21T05:17:17.200 回答
0

16 x 2 = 32,大于 27。

16 x 1 = 16,小于 27 x 11。

16 < 27 < 32

因此16次分为27次。之后你有 27 - 16 这是除以 16 后剩下的 27 - 16 = 11。

27/27 = 1 没有剩余所以没有余数所以 27 % 27 = 0;

27 % 16 = 11,因为 16 不会均匀地进入 27,而是剩下 11。

请添加任何后续评论或问题,我很乐意进一步解释。我知道当你第一次学习这些东西时可能会很棘手。

于 2013-08-21T05:09:39.187 回答
0

好的,让我们以基本的方式执行此操作。

现在我需要27除以16, 27/16。现在1X16=16, 2X16=32.Now 27<32,然后通过除以和27/16之间的值。换句话说,还有剩余的部分,。1227 -1X16=11

如果java我们想立即取这个余数,我们使用%(modulo division)

然后27%16=11

 27 / 16 = 1, remainder 11  In java 27%16=11
于 2013-08-21T05:11:14.440 回答