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

編譯取商

發布時間: 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

熱點內容
怎麼知道我的世界伺服器的密碼 發布:2025-03-18 21:43:48 瀏覽:177
android專家 發布:2025-03-18 21:41:16 瀏覽:802
白酒怎麼存儲 發布:2025-03-18 21:40:32 瀏覽:122
電腦怎麼破開機密碼 發布:2025-03-18 21:40:32 瀏覽:598
小米如何顯示wifi密碼 發布:2025-03-18 21:27:07 瀏覽:753
python中的ord 發布:2025-03-18 21:20:11 瀏覽:324
qq網源碼 發布:2025-03-18 21:19:19 瀏覽:558
收款源碼 發布:2025-03-18 21:18:39 瀏覽:753
android小部件 發布:2025-03-18 20:59:56 瀏覽:230
現在下載什麼軟體要賬號密碼 發布:2025-03-18 20:55:43 瀏覽:864