浮動小数点数の操作
メニューを表示するにはスワイプしてください
数値は整数だけではありません。浮動小数点数も存在します。C++では、これらを格納するためにfloat型とdouble型を使用します。本章ではfloat型について説明し、次章でdouble型およびその違いについて扱います。以下はfloat型の使用方法の構文です。
float.h
1float num = 0.45;
浮動小数点数がメモリにどのように格納されるかを簡単に見てみましょう。
float型はint型と同様に4バイトのメモリを使用します。ただし、このような数値を2進数に変換するのははるかに複雑です。
float num = 13.45 がどのように格納されるかの例:
ここで何が起こっているのかを完全に理解していなくても問題ありません。重要な点は、float の表現が3つの部分に分かれていることです:
-
符号 コンポーネントはプラス(
+)またはマイナス(-)記号で表されます。これは数値が正か負かを示します。 -
指数 コンポーネントは、数値が表現できる範囲を決定します。指数が大きいほど、表現できる値の範囲が広くなります。
floatデータ型では、指数はメモリの 1 バイト(8 ビット)を占めます。 -
仮数 コンポーネントは、
floatの精度を決定します。すべての数値がメモリ上で正確に表現できるわけではなく、数値の精度は仮数の長さによって定義されます。floatデータ型では、仮数の長さは 23 ビットです。
その結果、float は7 桁の10進精度と、1.2e-38 から 3.4e+38 の範囲(負の数と正の数の両方に適用)を持つ。したがって、ほとんどの場合、範囲は問題にならないが、精度が問題になることがある。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください