Type SHORT-FLOAT, SINGLE-FLOAT, DOUBLE-FLOAT, LONG-FLOAT
short-float: short-float, float, real, number, t
single-float: single-float, float, real, number, t
double-float: double-float, float, real, number, t
long-float: long-float, float, real, number, t
これら4つの型は、型floatのサブタイプとして定義され、 型short-floatと型long-floatの中間が 型single-floatと型double-floatになります。 これらの分類の精度の定義は実装定義です。 精度(「ビット」として計測されp log 2bとして計算されます)と 指数のサイズ(また「ビット」として計測され log 2(n+1)、ただしnは指数値の最大値として計算されます)は、 少なくとも次の表に示される値より大きいことが推奨されます。 型floatのサブタイプとして定義されたそれぞれは、 マイナスゼロがあっても無くてもかまいません。
| フォーマット | 最小精度 | 最小指数サイズ |
|---|---|---|
| short | 13 bit |
5 bit |
| single | 24 bit |
8 bit |
| double | 50 bit |
8 bit |
| long | 50 bit |
8 bit |
Figure 12-12. 推奨される最小の浮動小数の精度と指数サイズ
浮動小数の内部表現は4つより少なくすることができます。 もし表現の区別が少ないときは、 下記の規則を適用してください。
もしひとつしかないとき、それは型single-floatです。 この表現では、オブジェクトは同時に single-float, double-float, short-float, long-floatの型になります。
2つの内部表現のとき、下記に示す方法のどちらかを選択できます。
single-floatとshort-floatが提供されます。 オブジェクトは同時に single-float, double-float,long-floatの型になります。single-floatとdouble-floatが提供されます。 オブジェクトは同時にsingle-floatとshort-floatか、 あるいはdouble-floatとlong-floatの型になります。3つの内部表現のとき、下記に示す方法のどちらかを選択できます。
short-float, single-float, double-floatが提供されます。 オブジェクトは同時にdouble-floatとlong-floatの型になります。single-float, double-float, long-floatが提供されます。 オブジェクトは同時にsingle-floatとshort-floatの型になります。省略可能
short-float [ short-lower-limit [ short-upper-limit ] ]
single-float [ single-lower-limit [ single-upper-limit ] ]
double-float [ double-lower-limit [ double-upper-limit ] ]
long-float [ long-lower-limit [ long-upper-limit ] ]
short-lower-limit, short-upper-limit - 型short-floatの区間指定子。 short-lower-limitとshort-upper-limitの それぞれのデフォルト値はシンボル*。
single-lower-limit, single-upper-limit - 型single-floatの区間指定子。 single-lower-limitとsingle-upper-limitの それぞれのデフォルト値はシンボル*。
double-lower-limit, double-upper-limit - 型double-floatの区間指定子。 double-lower-limitとdouble-upper-limitの それぞれのデフォルト値はシンボル*。
long-lower-limit, long-upper-limit - 型long-floatの区間指定子。 long-lower-limitとlong-upper-limitの それぞれのデフォルト値はシンボル*。
それぞれは、指定された型の浮動小数の集合は 区間指定子によって 区間を定義していることを意味しています。