System-Class FLOAT

UP


System-Class FLOAT

System Class FLOAT

クラス優先順位リスト

float, real, number, t

定義

浮動小数は、s*f*b^{e-p}のフォームで表される 数学的な有理数(Common Lispのrationalではなく)です。 ただし、sは符号であり+1-1bは基数であり1より大きい整数、 pは浮動小数の精度(基数-bの数値)であり正の整数、 fは仮数でありb^{p-1}からb^{p}-1(含む)の間の正の整数、 eは指数であり整数です。 pの値とeの区間は、 実装自身と実装内における浮動小数の型に依存します。 加えて、浮動小数のゼロもまた実装依存であり 「マイナスゼロ」が存在できます。 もしマイナスゼロが存在しないときは、 0.0-0.0は両方とも単純に浮動小数のゼロとして解釈されます。 (= 0.0 -0.0)は常にtrueです。 もしマイナスゼロが存在するとき、 (eql -0.0 0.0)falseであり、 そうではないときはtrueです。

short-float, single-float, double-float, long-floatは、 型floatのサブタイプです。 これらのうちどの2つも疎の型か同じ型のどちらかです。 もし同じ型のとき、 上記の順番の中でそれらの間にある他の型もまた同じ型です。 例えば、もし型single-floatと型long-floatが同じ型のとき、 型double-floatもまた同じ型でなければなりません。

型指定子の種類

省略可能

型指定子の構文

float [ lower-limit [ upper-limit ] ]

型指定子の引数

lower-limit, upper-limit - 型floatの区間指定子。 lower-limitupper-limitの それぞれのデフォルト値はシンボル*

型指定子の定義

これは、浮動小数の区間を lower-limitupper-limitによって定義することを示します。

参考

figure_2-9, 2.3.2. トークンから数の構築, 22.1.3.1.3. 浮動小数の印字

備考

全ての数学的な整数は、 Common Lispの実数realで表現できるだけでなく、 浮動小数の複素数complex floatでもまた表現できます。 例えば、数学的な数の1の表現として可能なものは、 整数の1、浮動小数の1.0、複素数の#C(1.0 0.0)が含まれます。


TOP, Github