Rogue Wave バナー
前へマニュアルの先頭へ目次索引次へ

21.3 numeric_limit メンバー

numeric_limits 構造体のフィールドの多くは浮動小数点値にのみ有効なため、メンバーの記述を共通フィールドと浮動小数点固有のフィールドに分離すると便利です。

21.3.1 すべての型に共通のメンバー

表 21 に、numeric_limits 静的メンバーデータフィールドおよび関数から入手可能な情報を要約します。

表 21 -- numeric_limits から入手可能な情報

名前 意味
bool
is_specialized
特殊化が存在すれば真、その他の場合は偽
T
min()
最小有限値
T
max()
最大有限値
int
radix
表現の基数
int
digits
変更せずに表示可能な radix 桁数
int
digits10
変更せずに表示可能な 10 進数の基数
bool
is_signed
型が符号付きならば真
bool
is_integer
型が整数ならば真
bool
is_exact
表現が正確ならば真
bool
is_bounded
表現が有限ならば真
bool
is_modulo
型がモジュロならば真
bool
traps
型にトラップが実装されていれば真

radix とは、内部の表現に使用される基数のことです。たとえば、大部分のマシンは整数データ値に 2 の基数を使用していますが、異なる基数を使用する BCD のような表現をサポートするマシンもあります。したがって digits フィールドは、値が保持できる radix 値の数を表します。整数型の場合、radix 値は表現の符合なしビット数となります。

基本型はすべて結合されます。ただし実装によっては、たとえば、結合されない無限精度の整数パッケージを取り込むこともあります。

2 つの値を加えた結果の値をラップアラウンドできる場合、すなわちいずれかの引数より小さくできる場合、型はモジュロです。基本符号なし整数型はすべてモジュロです。

21.3.2 浮動小数点値に固有のメンバー

表 22 に挙げたメンバーは、浮動小数点値に固有のメンバーであるか、浮動小数点データ型以外に関して、先に説明したものとは多少意味の異なる浮動小数点値のメンバーです。

表 22 -- 浮動小数点値に固有のメンバー

名前 意味
T
min()
正規化された最小の正値
int
digits
仮数の桁数
int
radix
指数表現の基数 (または radix)
T
epsilon()
1 と 1 より大きい最小表現値との差
T
round_error()
丸め誤差の測定
int
min_exponent
最小の負指数
int
min_exponent10
10 をその値でべき乗した値が範囲内であるような最小値
int
max_exponent
最大の正指数
int
max_exponent10
10 をその値でベキ乗した値が範囲内であるような最大値
bool
has_infinity
型が正の無限表現を持つ場合は真
T
infinity()
使用可能ならば、無限表現
bool
has_quiet_NaN
静的 "Not a Number"の表現があれば真
T
quiet_NaN()
使用可能ならば、静的 NaN の表現
bool
has_signaling_NaN
シグナリング NaN の表現があれば真
T
signaling_NaN()
使用可能ならば、シグナリング NaN の表現
bool
has_denorm
表現に正規化解除された値があれば真
T
denorm_min()
正規化解除された最小の正値
bool
is_iec559
表現が IEC 559 規格に準拠していれば真
bool
tinyness_before
丸めの前に tinyness が検出されれば真
  round_style
型の丸め形式

float データ型の場合、指数表現の基数を表すフィールド radix の値は、記号定数 FLT_RADIX と同じです。

floatdouble および long double データ型の場合、epsilon の値も FLT_EPSILONDBL_EPSILONLDBL_EPSILON として使用することができます。

NaN は、Not a Number のことで、数量に対応しない場合でも表示可能な値を意味します。数値アルゴリズムの多くは、このような値を操作します。

IEC 559 規格は、国際電子技術委員会に公認された規格です。これは IEEE 規格 754 に相当します。

関数 round_style() によって返される値は、round_indeterminateround_toward_zeroround_to_nearestround_toward_infinityround_toward_neg_infinity のいずれかです。



前へマニュアルの先頭へ目次索引次へ
Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。
OEM リリース, 1998 年 6 月