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

編譯取商

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

熱點內容
iisftpwin10 發布:2025-03-18 20:27:50 瀏覽:954
mysql執行存儲過程語句 發布:2025-03-18 20:13:00 瀏覽:956
android控制項移動 發布:2025-03-18 20:05:29 瀏覽:700
新東方課程緩存路徑 發布:2025-03-18 20:00:20 瀏覽:85
登錄一個新ip的伺服器怎麼登錄 發布:2025-03-18 19:49:13 瀏覽:961
戶戶通遙控器隱藏密碼多少 發布:2025-03-18 19:43:23 瀏覽:196
erlang資料庫 發布:2025-03-18 19:35:17 瀏覽:647
華碩手機配置及價格如何 發布:2025-03-18 19:34:34 瀏覽:582
安卓模擬器埠號怎麼查 發布:2025-03-18 19:34:19 瀏覽:760
新建文件夾mp4magnet 發布:2025-03-18 19:34:17 瀏覽:933