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 で割ると、期待される商は約 -1.143 であるにもかかわらず、結果は -2 になります。

床の除算について

整数の除算、多くの場合Python 2 では「フロア除算」と呼ばれ、結果を最も近い整数に向かって切り捨てます。この動作は、正と負の整数を除算する場合でも、出力は常に負の値になることを示しています。

難題の例

この切り捨ての原則は、図に示すように、複雑な結果をもたらします。次の除算演算によって:

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

Python 3 の修正異常

Python 3 では、この問題は解決されています。同じ演算 8/(-7) の場合、出力は -1.143 です。ただし、目的の動作が整数の除算である場合、「//」演算子を使用すると、Python 2 の結果が複製されます。

技術的な説明

Python 2 では、整数を別の整数で割った型も整数です。したがって、結果は最も近い整数に切り捨てられます。 Python 3 では自動型変換が導入されており、結果を実際の値を保持したまま浮動小数点数として表現できるようになります。

以上がPython 2 の整数除算で負の数が予期しない結果になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!