為什麼 Python 2 中的整數除法會給出意外的負數結果?

Linda Hamilton
發布: 2024-10-25 02:50:30
原創
174 人瀏覽過

Why Does Integer Division in Python 2 Give Unexpected Results with Negative Numbers?

整數除法的意外結果

在 Python 2 中,使用負數執行整數除法可能會產生令人驚訝的結果。例如,當 8 除以 -7 時,結果為 -2,儘管預期商約為 -1.143。

理解樓層除法

整數除法,通常在Python 2 中稱為“向下取整除法”,將結果向下舍入到最接近的整數。這種行為表明,即使正整數和負整數相除,輸出也總是負數較大。

範例難題

這種捨去原則會導致令人困惑的結果,如圖所示透過以下除法運算:

  • 8/(-7) = -2
  • 8/7 = 1

Python 3 修正Anomaly

在Python 3 中,此問題已解決。對於相同的操作 8/(-7),輸出為 -1.143。但是,如果所需的行為是整數除法,則使用「//」運算子將複製 Python 2 的結果。

技術說明

在 Python 2 中,一個整數除以另一個整數的型別也是整數。因此,結果會向下捨去到最接近的整數。 Python 3 引入了自動型別轉換,允許將結果表示為浮點數,保留其實際值。

以上是為什麼 Python 2 中的整數除法會給出意外的負數結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!