System.TFloatSpecial
Delphi
TFloatSpecial = ( fsZero, fsNZero, fsDenormal, fsNDenormal,
fsPositive, fsNegative, fsInf, fsNInf, fsNaN );
C++
enum DECLSPEC_DENUM TFloatSpecial : unsigned char { fsZero, fsNZero, fsDenormal, fsNDenormal, fsPositive, fsNegative, fsInf, fsNInf, fsNaN };
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 |
|---|---|---|---|---|
| enum | public | System.pas System.hpp |
System | System |
説明
特別な浮動小数点値を表します。
TFloatSpecial は、特別な種類の浮動小数点値を指定するために使われます。次の表にこの分類を示します。
| 定数 | 説明 |
|---|---|
| fsZero | 正のゼロ(+0.0) |
| fsNZero | 負のゼロ(-0.0) |
| fsDenormal | 正の非正規化値 |
| fsNDenormal | 負の非正規化値 |
| fsPositive | 正の値 |
| fsNegative | 負の値 |
| fsInf | 正の無限大 |
| fsNInf | 負の無限大 |
| fsNaN | 非数値(表現できない値) |
メモ: 非正規化浮動小数点値は、本質的にまったくの概略値です。計算によって非正規化浮動小数点値が得られた場合には、精度が大きく損なわれています。
例
var
F: TSingleRec;
C: TFloatSpecial;
begin
F := TSingleRec(-0.0);
C := F.SpecialType; // C は fsNZero
F := TSingleRec(5e-40);
C := F.SpecialType; // C は fsDenormal
// ...
関連項目
- TSingleHelper、TDoubleHelper、TExtendedHelper の各レコード ヘルパで提供されている SpecialType メソッド
- _fpclass、_fpclassl