日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深度理解取余/取模运算

發(fā)布時間:2024/1/1 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度理解取余/取模运算 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

日常編程經(jīng)常會接觸到取余/取模運算,那么計算機中取余/取模運算究竟是怎么定義的?

P1:四種"取整"方式

數(shù)學(xué)取整

1.1 向0取整

parseInt() 注意接受參數(shù)是string;所以調(diào)用該方法時存在類型轉(zhuǎn)換parseInt(3.141592654) // 3

1.2?向下取整

Math.floor() 不四舍五入Math.floor(1.5555) // 1

1.3 向上取整

Math.ceil() 向上取整Math.ceil(1.5555) // 2 Math.ceil(1.1555) // 2

1.4?四舍五入取整

Math.round() 四舍五入取整Math.round(1.5555) //2 Math.round(1.4999) //1

P2:用公式理解"取模"

取模概念

如果a和d是兩個自然數(shù),d非零,可以證明存在兩個唯一的整數(shù) q 和 r,滿足?a = q*d + r 且 0 ≤ r < d。其中,q 被稱為商,r 被稱為余數(shù)。

?運算符之 --- 取余運算 %

?

P3:“取余”和“取模”一樣嗎?

取整

取余:盡可能讓商,進行向0取整。

取模:盡可能讓商,向-∞方向取整。

C中 % ,本質(zhì)其實是取余。
Python中 % ,本質(zhì)其實是取模。

理解鏈:

對任何一個大于0的數(shù),對其進行0向取整和-∞取整,取整方向是一致的。故取模等價于取余

對任何一個小于0的數(shù),對其進行0向取整和-∞取整,取整方向是相反的。故取模不等價于取余

同符號數(shù)據(jù)相除,得到的商,一定是正數(shù)(正數(shù)vs正整數(shù)),即大于0!故,在對其商進行取整的時候,取模等價于取余。

P4:總結(jié)

  • 浮點數(shù)(或者整數(shù)相除),是有很多的取整方式的,0向取整、(正、負)無窮向取整、四舍五入取整…
  • 如果 a 和 d 是兩個自然數(shù),d非零,可以證明存在兩個唯一的整數(shù) q 和 r,滿足 a = q*d + r , q 為整數(shù),且0 ≤ |r|< |d|。其中,q 被稱為商,r 被稱為余數(shù)
  • 在不同語言,同一個計算表達式,“取?!苯Y(jié)果是不同的。我們可以稱之為分別叫做正余數(shù) 和 負余數(shù)
  • 具體余數(shù) r 的大小,本質(zhì)是取決于商 q 的。而商,又取決于除法計算的時候,取整規(guī)則。
  • 取余 vs 取模:取余是盡可能讓商,進行向 0 取整。取模是盡可能讓商,向 -∞ 方向取整。
  • 參與取余的兩個數(shù)據(jù),如果同符號,取模等價于取余
  • 如果參與取余的兩個數(shù)據(jù)符號不同,在C語言中(或者其他采用向0取整的語言如:C++,Java),余數(shù)符號,與被除數(shù)相同。(因為采用的向0取整)

總結(jié)

以上是生活随笔為你收集整理的深度理解取余/取模运算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。