% Type SHORT-FLOAT, SINGLE-FLOAT, DOUBLE-FLOAT, LONG-FLOAT
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
の型になります。
single-float
とshort-float
が提供されます。
オブジェクトは同時に single-float
,
double-float
,long-float
の型になります。single-float
とdouble-float
が提供されます。
オブジェクトは同時にsingle-float
とshort-float
か、
あるいはdouble-float
とlong-float
の型になります。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の
それぞれのデフォルト値はシンボル*
。
それぞれは、指定された型の浮動小数の集合は 区間指定子によって 区間を定義していることを意味しています。