Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 浮動小数点数の取り扱い | 数値データ型
C++データ型

book浮動小数点数の取り扱い

メニューを表示するにはスワイプしてください

数値型は整数だけではありません。浮動小数点数も存在します。C++では、これらを格納するためにfloat型とdouble型を使用します。本章ではfloat型について説明し、次章でdouble型およびその違いについて扱います。以下はfloat型の使用方法の構文です。

float.h

float.h

copy
1
float num = 0.45;

浮動小数点数がメモリにどのように格納されるかを簡単に見てみましょう。 float型はint型と同様に4バイトのメモリを使用します。しかし、このような数値を2進数に変換するのははるかに複雑です。

こちらは、float num = 13.45 がどのように格納されるかの例です。

ここで何が起こっているのかを完全に理解できなくても問題ありません。重要な点は、float の表現が3つの部分に分かれていることです。

  • 符号 コンポーネントは、プラス(+)またはマイナス(-)記号で表されます。これは数値が正か負かを示します。

  • 指数 コンポーネントは、数値が表現できる範囲を決定します。指数が大きいほど、表現できる値の範囲が広がります。float データ型では、指数は 1 バイト(8 ビット)のメモリを占めます。

  • 仮数 コンポーネントは、float の精度を決定します。すべての数値がメモリ上で正確に表現できるわけではなく、数値の精度は仮数の長さによって定義されます。float データ型では、仮数の長さは 23 ビットです。

その結果、float7 桁の10進精度と、1.2e-38 から 3.4e+38 の範囲(負の数と正の数の両方に適用)を持つ。したがって、ほとんどの場合、範囲は問題にならないが、精度が問題になることがある。

question mark

float が正確に表現できる最大の小数点以下の桁数はいくつですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  4
some-alt