【发布时间】:2013-01-06 13:07:57
【问题描述】:
我是 Java 新手,实际上是一般的编程。我知道模运算符 (%) 返回两个数字的余数,但是,我不明白为什么 17 % 40 = 17。
我知道 40 % 17 = 6、17 % 5 = 2 和 40 % 5 = 0。我知道作为余数返回的值的要点。但是 17 % 40 = 17 让我很难过。
我能想到的唯一合理化是,由于余数小于 1,所以返回总值 17,为什么不是 0?请帮我解释一下这个谜。
【问题讨论】:
-
余数小于一是什么意思?商小于一。您是否将余数与商混淆了?
-
基本上,这是整数的数学(欧几里得)除法。它与计算器为你做的不同,计算分数。 17 不能除以 40(实际上除以 17),所以余数就是数字本身。因此,如果除数大于被除数,模运算符将返回数字本身。 (如果我的英语数学术语不正确,请原谅我,用不同的语言学习数学;))
-
尝试 17%18 , 17%19 , 17%20 .... 17%100 ... 17%200 .... 17%N (其中 N > 17) 你将得到答案为 17。