Java % (取模)运算
取模怎么算
? ? 取模運(yùn)算實(shí)際上是計(jì)算兩數(shù)相除以后的余數(shù)。假設(shè) q 是 a、b 相除產(chǎn)生的商(quotient),r 是相應(yīng)的余數(shù)(remainder),那么在幾乎所有的計(jì)算系統(tǒng)中,都滿足:
a = b x q + r,其中 |r|<|a|。
? ? 因此 r 有兩個(gè)選擇,一個(gè)為正,一個(gè)為負(fù);相應(yīng)的,q 也有兩個(gè)選擇。如果a、b 都是正數(shù)的話,那么一般的編程語言中,r 為正數(shù);或者如果 a、b 都是負(fù)數(shù)的話,一般 r 為負(fù)數(shù)。但是如果 a、b 一正一負(fù)的話,不同的語言則會(huì)根據(jù)除法的不同結(jié)果而使得 r 的結(jié)果也不同,但是一般 r 的計(jì)算方法都會(huì)滿足:
r = a - (a / b) x b
C/Java 取模
? ?大多數(shù)語言的處理方式都與 C/Java 一致,采用了 truncate 除法。所以在 C/Java 語言中:
? ?-17 % 10 的計(jì)算結(jié)果如下:r = (-17) - (-17 / 10) x 10 = (-17) - (-1 x 10) = -7
? ?17 % -10 的計(jì)算結(jié)果如下:r = 17 - (17 / -10) x (-10) = (17) - (-1 x -10) = 7
? ?-17 % -10 的計(jì)算結(jié)果如下:r = (-17) - (-17 / -10) x (-10) = (-17) - (1 x -10) = -7
可以看出:運(yùn)算結(jié)果的符號(hào)始終和被模數(shù)的符號(hào)一致。
總結(jié)
以上是生活随笔為你收集整理的Java % (取模)运算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Canvas画图形(更新
- 下一篇: Android ListView滑动后背