ホームページ > バックエンド開発 > C++ > 整数を 3 で 5 で割ると結果がゼロになるのはなぜですか?

整数を 3 で 5 で割ると結果がゼロになるのはなぜですか?

Patricia Arquette
リリース: 2024-12-01 14:41:09
オリジナル
262 人が閲覧しました

Why Does Integer Division of 3 by 5 Result in Zero?

ストレージが 2 倍であるにもかかわらず、ゼロになる除算の問題

数値演算では、関係するオペランドのタイプを考慮することが重要です。浮動小数点数を扱う場合、予期しない結果を避けるために明示的な型キャストが必要になる場合があります。

提供されたコード スニペットでは、3 と 5 の間の除算演算が整数オペランドを使用して実行され、整数除算が行われます。この結果、商はゼロになります。目的の浮動小数点除算を行うには、オペランドの少なくとも 1 つを明示的に double 型にキャストする必要があります。修正されたコードを以下に示します。

#include <iostream>

int main(int argc, char** argv) {
  double f = 3.0 / 5;
  std::cout << f;
  return 0;
}
ログイン後にコピー

3 を double (3.0) にキャストすると、コンパイラは浮動小数点除算を実行し、予想される非ゼロ値が得られます。これは、正確な結果を得るために数値演算のオペランドの型に注意を払うことの重要性を強調しています。

以上が整数を 3 で 5 で割ると結果がゼロになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート