如果这是一个简单的问题,我很抱歉,但在第一个数字小于第二个数字时,我很难理解模数除法的概念。例如,当我的书1%4说剩下的是1时,我不明白1是1的余数是多少。4是0.25。我是否错误地思考模分裂?第一个数字小于第二个数字时的模量除法
回答
首先,在Java中,%是余数(不是模)运算符,它具有略微不同的语义。这就是说,你需要考虑整数除法,就好像没有小数值一样。把它看作是不能分割的存储项目:你可以将零个大小为4的项目存储在总容量为1的存储中。存储最大数量的项目后,您的剩余容量为一个。同样,13%5为3,因为您可以在尺寸为13的存储区中容纳2个大小为5的完整项目,其余容量为13 - 2*5 = 3
。
如果将1除以4,则得到0,余数为1.这就是所有的模数,即除法后的余数。
什么如果是40%会发生160 – 2014-11-29 09:13:55
@yanivx同样的事情,0余数40,所以答案是40 – 2014-12-01 19:41:36
另一种方式可以把它看作是以另一个数字的倍数表示你的数字。 I.e,a = n*b + r
,其中b>r>=0
。从这个意义上说,你的情况给出1 = 0*4 + 1
。 (编辑:只谈正数)
我想你在%(Remainder)
和/(Division)
运营商之间感到困惑。
当你说%
,你需要继续分红,直到你得到剩余0或可能结束。最后你得到的是Remainder
。
当你说/
,需要将分红,直到除数变为1和最终产品你叫Quotient
另一个不错的方法来澄清事实, 在模数,如果第一个数字是>第二个数字从第一个数字减去第二个数字,直到第一个数字小于第二个数字。
17 % 5 = ?
17 - 5 = 12
12 % 5 = ?
12 - 5 = 7
7 % 5 = ?
7 - 5 = 2
2 % 5 = 2
因此17%5,12%5,7%5所有给出2. 答案这是因为2/5 = 0(与整数工作时)与2作为剩余部分。
我将为“让 - 伯纳德佩莱林”已经说过的内容添加一个更实际的例子。
这是正确的,如果你除以4你得到0但是,为什么当你做1%4你有1结果?
基本上这是因为这样的:
n = a/b (integer), and
m = a % b = a - (b * n)
所以,
a b n = a/b b * n m = a%b
1 4 0 0 1
2 4 0 0 2
3 4 0 0 3
4 4 1 0 0
5 4 1 4 1
结论:虽然< B,A%B的结果将是 “一个”
- 1. 检查第二个数字是否大于或小于第一个数字
- 2. 第一个数字是第二个数字的倍数
- 3. JavaScript - 删除第一个数字高于
- 4. 第一个数字取决于第四个和第五个数字的数字的正则表达式
- 5. 从二进制数中删除第一个数字的含义?
- 6. C++删除数字的第一个和最后一个数字
- 7. cffunction:基于第一个参数的第二个参数
- 8. charAt(0)不返回第一个数字,而是第二个
- 9. SQL - 计数第一个字段中有第二个变量的实例
- 10. PHP:获取第一个字的第一个字符和第二个字符的三个字符
- 11. C:找到最接近的第一个数字而不重复第二个数字中的数字?
- 12. 当第一个字符是数字时更改为第一个大写字母
- 13. 更新列中的第二个数字
- 14. jquery大于/小于只看第一个数字?
- 15. 第一字第一个字符第二字第二字符和上直到阵列
- 16. 确定第一个数字
- 17. 正则表达式 - 第一个随机字符等于第二个字符。
- 18. 从int获得第二个数字
- 19. 在java中验证第二个数字
- 20. 从第二个字符串中删除第一个字符串中所有字符的最有效方法?
- 21. Django - 根据第一个字段实时更新第二个list_filter字段?
- 22. REGEX_SUBSTR - 匹配第二次出现的一个或两个数字
- 23. 尝试删除发现模式的第一个字符串,并保留第二个字符串不变
- 24. zsh自动完成,基于第一个参数的第二个参数
- 25. Python:从第一个数字字符中删除字符串
- 26. 在bst中第k个最小数字
- 27. 如何更改第二个字的字体大小字符串
- 28. 为什么第二个数组比第一个少一个?
- 29. 当输入一个字符串时,数组输入第二个整数
- 30. For循环与第一个参数字符串中的空格之间的第二个参数字符串
我明白余数的时候第一个数字大于第二个数字。所以我得到13%5是3。我不明白的是如果5%13时答案会是什么。 – 2013-05-01 01:58:58
如果您的物品比您的容量大,则永远无法将其放入您的存储空间。因此,结果始终是您的总体容量,但仍未使用(即第一个数字 - 您可能意思是'5%13') – misberner 2013-05-01 02:00:20
是的,我的意思是5%13而不是相反。所以如果我得到你所说的答案5%13是5?那是对的吗? – 2013-05-01 02:02:59