當前位置:首頁 » 編程軟體 » 編譯取商

編譯取商

發布時間: 2023-08-13 01:15:53

python中36%-5為什麼等於-1

36%-5根本就不等於-1,36%-5等於-4好吧?

下圖是驗證:

為什麼36%-5等於-4?

因為%是求余數,余數=被除數-被除數//除數*除數。

而//是整除,對於python語言//是向下取整,即向負無窮大方向取整,結果是不大於商的最大整數。

36除以-5的商是-7.2,不大於-7.2的最大整數是-8,所以36//-5等於-8。

所以36%-5=36-(36//-5)*(-5)=36-(-8)*(-5)=36-40=-4。

Ⅱ C語言咋能同時求商和余數

單純從純C語言的角度,不可能。唯一可能的就是除數是2的N次方,直接使用位運算。
C語言中沒有這樣的計算方式,而且這個冗餘計算,對性能的影響太小了,目前的CPU都是每秒百萬運算以上級別的,多一次整除運算,消耗的時間即使是百萬級別的數據,也不會多出1秒。
如果單純從優化角度考慮,可以使用內嵌匯編,通過一套整除運算從不同寄存器中取出商和余數,但實際上的消耗,也不是節省了50%,因為多佔用了寄存器,並且多了一個傳遞。這樣的方法雖然沒有具體試驗,但應該節省的非常有限,因為標准整數演算法的優化不存在了,可能反而更耗時。
從代碼量上看,系統提供函數itoa sprintf format等都可以一個語句完全實現數字轉換字元串的功能,但實際上,這些函數的實現,也沒有對整除取余進行優化。

Ⅲ C語言中76除以10=7,為什麼不四捨五入得8

這不是巧攜數學運算,在C語言里叫做整除運孝寬伏算,整除是舍棄余數的,而與整除巧渣配套的還有取余運算,運算結果就是余數了。

76/10 = 7
76%10 = 6

熱點內容
tar打包文件夾 發布:2025-03-18 16:49:21 瀏覽:433
ip直接訪問伺服器 發布:2025-03-18 16:49:12 瀏覽:424
文件夾粘貼不了 發布:2025-03-18 16:47:47 瀏覽:171
安卓手機微信怎麼收費 發布:2025-03-18 16:47:35 瀏覽:441
安卓手機消息發送按鈕怎麼設置 發布:2025-03-18 16:45:33 瀏覽:718
夏天存儲冬衣 發布:2025-03-18 16:40:17 瀏覽:243
vb腳本引擎報錯 發布:2025-03-18 16:39:36 瀏覽:977
android打包jar 發布:2025-03-18 16:35:55 瀏覽:833
什麼是密碼不對 發布:2025-03-18 16:30:12 瀏覽:574
電腦可移動存儲設備 發布:2025-03-18 16:19:36 瀏覽:755