浮動小数点データ型
浮動小数点型は近似データ型です。 表現可能な範囲より精度が高い (桁数が多い) 場合、システムは有効数字を丸めます。
- 構文
[ '+' | '-' ] <digit>… [ '.' [ <digit>… ] ] [( 'e' | 'E' ) [ '+' | '-' ] <digit>… ] [ '+' | '-' ] '.' <digit>… [ ( 'e' | 'E' ) [ '+' | '-' ] <digit>… ] [ '+' | '-' ] <digit>… [ ',' [ <digit>… ] ] [( 'e' | 'E' ) [ '+' | '-' ] <digit>… ] [ '+' | '-' ] ',' <digit>… [ ( 'e' | 'E' ) [ '+' | '-' ] <digit>… ]- 説明
- 先頭の符号はオプション
- 先頭のゼロは個数無制限
- 少なくとも 1 桁の 10 進数
- 小数点またはコンマ (必要な場合)
- オプションの
eまたはEは、指数を指定する場合に使用し、その後にオプションの符号と 1 桁以上の数字が続く
- 制限
- 3 桁ごとの区切りコンマは使用しない
- 例外的な値、つまり非数 (NaN) 値と無限大のロードはサポートしない
浮動小数点値の構文は、固定小数点値の構文と同じものに、指数指定 (オプション) を追加して拡張したものです。
オプションの小数点の前に 10 進数字が少なくとも 1 つある場合には、小数点の後に、0 個以上の 10 進数字を続けることができます。 オプションの小数点の前に 10 進数字が 1 つもない場合には、小数点の後に、1 個以上の 10 進数字を続けることができます。
小数点が明示的に指定されない場合、システムは、最後の 10 進数字の直後に小数点があるものと想定します。
コンマを 10 進小数点と同様に使用し、コンマを区切り文字として指定できます。
オプションである 10 の累乗の指数が e (小文字または大文字) であり、オプションの符号と必須の 10 進数字シーケンスが続きます。
以下の表で、浮動小数点の精度および表現について説明します。
| タイプ | 実数 | 二重 |
|---|---|---|
| 表現 | 4 バイト IEEE 浮動小数点 | 8 バイト IEEE 浮動小数点 |
| 正規化最大近似値 | ±3.40e+38 | ±1.79e+308 |
| 正規化最小近似値 | ±1.18e-38 | ±3.40e-308 |
| 非正規化最小近似値 | ±7.01e-46 | ±2.50e-324 |
以下の状況はシステム・エラーとなります。
- オーバーフロー
- フィールドが表現可能な最大値 (最大の指数および最大の有効数字) を超えています。
- アンダーフロー
- 数値が小さすぎて非正規化範囲でも近似できません。