整數除法驚喜
使用整數時,執行除法時可能會遇到意外結果。例如,當兩個數字都被視為整數時,8/-7 等於 -2。這可能會令人困惑,所以讓我們探討一下發生了什麼。
解釋
Python 2(您似乎正在使用的版本)中的整數除法遵循稱為“樓層劃分。”這意味著結果將向下舍入到最接近的整數。在本例中,-1.143(8.0/(-7.0) 的實際結果)向下捨入為 -2。
此行為會導致有趣的結果:
Python 3 及更高版本
在Python 3 中,整數除法已更改。它提供浮點結果,而不是向下舍入。例如,Python 3 中的 8/(-7) 將為 -1.143。
如果您仍然需要整數除法,Python 3 提供了「//」運算子。這與 Python 2 中的整數除法類似,向下捨去到最接近的整數。
「修復」驚喜
整數除法結果中明顯的驚喜可以是透過升級到Python 3來「修復」。這將產生浮點結果,更能代表真實的數學運算。或者,您可以在 Python 3 中使用「//」運算子來實現與 Python 2 中的整數除法相同的行為。
以上是整數除法的意外結果:為什麼 8/-7 = -2?的詳細內容。更多資訊請關注PHP中文網其他相關文章!