ホームページ  >  記事  >  バックエンド開発  >  整数の除算における予期せぬ動作とは何ですか? Python ではどのように処理されますか?

整数の除算における予期せぬ動作とは何ですか? Python ではどのように処理されますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-24 14:48:02402ブラウズ

What is the Unexpected Behavior in Integer Division and How is it Handled in Python?

整数の除算における予期せぬ結果

プログラミングにおける負の整数の除算は、8/-7 が次の結果を生成するという観察など、驚くべき結果を生み出す可能性があります。 -2 の整数値。この結果は、負の整数が次に大きい負の値に切り捨てられるフロア除算の概念に由来しています。

Python 2 では、整数除算は自動的にフロア除算を適用します。その結果、8/-7 を実行すると、Python は実際の結果 8.0/(-7.0) (約 -1.143) をより負の整数の -2 に切り捨てます。この丸め動作は、8/7 の結果が 1 になる理由も説明します。

この動作は、負の整数の除算で分数の結果が得られるという数学的期待に反するため、混乱を招く可能性があります。ただし、整数の除算は小数部を切り捨てる別個の演算であることを認識することが重要です。

この動作を克服するために、Python 3 には変更が導入されました。 Python 3 では、負の整数の整数除算により浮動小数点の結果が生成されます。元の除算演算が 8/(-7) の場合、結果は小数値 -1.143 になります。

Python 3 でフロア除算の動作を維持する必要がある場合は、// 演算子を使用できます。この演算子は明示的にフロア除算を実行し、Python 2 の整数除算演算子と同じ結果を提供します。

さらに詳しい情報については、Python の除算演算子の変更について説明している Python Enhancement Proposal PEP 238 を参照してください。

以上が整数の除算における予期せぬ動作とは何ですか? Python ではどのように処理されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。