91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在C++項目中實現一個取余運算

發布時間:2021-02-23 16:24:46 來源:億速云 閱讀:174 作者:Leah 欄目:開發技術

如何在C++項目中實現一個取余運算?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、C++中的整數除法

C++中整數除法和取余用的是truncate除法(舍0取整),而給無符號類型賦值超出表示范圍時候用無符號類型等于賦值對無符號類型可以表示的數值總數取余,智力的取余是基于floor除法的(向下取整)。
在整數除法中,Java/C 等語言用的是 truncate 除法,Python 用的是 floor 除法。

1、truncate 除法

向零取整。向 0 方向取最接近精確值的整數,換言之就是舍去小數部分,因此又稱截斷取整(Truncate)。可以這樣理解,先用浮點數除法進行計算,計算結果直接舍去小數部分。
如:

5/-2=-2.5,所以整數除法中5/(-2)=-2
-5/2=-2.5,所以整數除法中-5/2=-2
-5/-2=2.5,所以整數除法中-5/-2=2
5/2=2.5,所以整數除法中5/2=0

2、C++中取余

有上述除法,我們已知a/b=c,而取余操作時a%b=d
那么d的求解方法如下:

d=a-(bc)
5%2=5-(22)=1
(-5)%(-2)=(-5)-((-2)2)=-1
5%(-2)=5-((-2)(-2))=1
(-5)%2=(-5)-(2*(-2))=-1

最后兩個式子尤其值得注意

3、floor 除法

理解起來就是向下取整

5/-2=-2.5,所以floor除法中5/(-2)=-3
-5/2=-2.5,所以floor除法中-5/2=-3
-5/-2=2.5,所以floor除法中-5/-2=2
5/2=2.5,所以floor除法中5/2=2

4、C++中無符號變量被賦值超出他表示范圍的情況

如我們給定unsigned char a;取值范圍為0-255共256個數值,則

a = 5 輸出為5 理解為 5-0256
a=257 輸出為1 理解為 257-1256
a=-5 輸出為251 理解為-5 - (-1256)
a=-257 輸出為255 理解為 -257 - (-2256)

看完上述內容,你們掌握如何在C++項目中實現一個取余運算的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

诸城市| 高台县| 五指山市| 垦利县| 石嘴山市| 新河县| 桐梓县| 会理县| 徐水县| 象州县| 盘锦市| 灵川县| 泰宁县| 玛多县| 安福县| 夹江县| 临泉县| 西昌市| 麻栗坡县| 阜新| 额敏县| 高雄市| 黄大仙区| 正镶白旗| 康平县| 梨树县| 博湖县| 河东区| 克拉玛依市| 保靖县| 抚州市| 平原县| 鄄城县| 沧州市| 保山市| 峡江县| 卓尼县| 汝州市| 富裕县| 昭通市| 达拉特旗|