名前空間
変種
操作

C の数値限界インタフェース

提供: cppreference.com
< cpp‎ | types
 
 
 
型サポート
基本的な型
基本型
固定幅の整数型 (C++11)
数値の限界
C の数値限界インタフェース
実行時型情報
型特性
型カテゴリ
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
型プロトタイプ
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)(C++20以前)
(C++11)(C++20で非推奨)
(C++11)
型特性定数
メタ関数
(C++17)
エンディアン
(C++20)
サポートされている操作
関係と性質の問い合わせ
(C++11)
(C++11)
型変更
(C++11)(C++11)(C++11)
型変換
(C++11)
(C++11)
(C++17)
(C++11)(C++20以前)(C++17)
 

std::numeric_limits インタフェースも参照してください。

ヘッダ <cstdint> で定義
PTRDIFF_MIN
(C++11)
std::ptrdiff_t 型のオブジェクトの最小値
(マクロ定数) [edit]
PTRDIFF_MAX
(C++11)
std::ptrdiff_t 型のオブジェクトの最大値
(マクロ定数) [edit]
SIZE_MAX
(C++11)
std::size_t 型のオブジェクトの最大値
(マクロ定数) [edit]
SIG_ATOMIC_MIN
(C++11)
std::sig_atomic_t 型のオブジェクトの最小値
(マクロ定数) [edit]
SIG_ATOMIC_MAX
(C++11)
std::sig_atomic_t 型のオブジェクトの最大値
(マクロ定数) [edit]
WCHAR_MIN
(C++11)
wchar_t 型のオブジェクトの最小値
(マクロ定数) [edit]
WCHAR_MAX
(C++11)
wchar_t 型のオブジェクトの最大値
(マクロ定数) [edit]
WINT_MIN
(C++11)
std::wint_t 型のオブジェクトの最小値
(マクロ定数) [edit]
WINT_MAX
(C++11)
std::wint_t 型のオブジェクトの最大値
(マクロ定数) [edit]

[編集] 整数型の限界

ヘッダ <climits> で定義
CHAR_BIT
1バイトのビット数
(マクロ定数) [edit]
MB_LEN_MAX
マルチバイト文字1文字の最大バイト数
(マクロ定数) [edit]
CHAR_MIN
char の最小値
(マクロ定数) [edit]
CHAR_MAX
char の最大値
(マクロ定数) [edit]
SCHAR_MINSHRT_MININT_MINLONG_MINLLONG_MIN
(C++11)
signed char, short, int, long, long long の最小値
(マクロ定数) [edit]
SCHAR_MAXSHRT_MAXINT_MAXLONG_MAXLLONG_MAX
(C++11)
signed char, short, int, long, long long の最大値
(マクロ定数) [edit]
UCHAR_MAXUSHRT_MAXUINT_MAXULONG_MAXULLONG_MAX
(C++11)
unsigned char, unsigned short, unsigned int,
unsigned long, unsigned long long の最大値
(マクロ定数) [edit]

ノート: CHAR_BITMB_LEN_MAX 以外のこれらの定数の型は、その記述する型のオブジェクトに整数拡張が適用された結果に一致することが要求されます。 CHAR_MAXint または unsigned int かもしれませんが、 char であることはありません。 同様に、 USHRT_MAX は符号なし型ではないかもしれず、 int であるかもしれません。

[編集] 浮動小数点型の限界

ヘッダ <cfloat> で定義
FLT_RADIX
3種類の浮動小数点型すべてを表現するために使用される基数
(マクロ定数) [edit]
DECIMAL_DIG
(C++11)
long double から10進数に変換し、再び long double に戻した時に元の値と等しくなるために最低限必要な、その10進数の桁数。 これは long double をシリアライズ、デシリアライズするために必要な10進数の精度です (std::numeric_limits::max_digits10 も参照してください)。
(マクロ定数) [edit]
FLT_DECIMAL_DIGDBL_DECIMAL_DIGLDBL_DECIMAL_DIG
(C++17)
float, double, long double から10進数に変換し、再び元の型に戻した時に元の値と等しくなるために最低限必要な、その10進数の桁数。 これは浮動小数点値をシリアライズ、デシリアライズするために必要な精度です。 (std::numeric_limits::max_digits10 も参照してください)。 それぞれ少なくとも 6, 10, 10 以上の値に定義されます。 IEEE float の場合は 9、 IEEE double の場合は 17 です
(マクロ定数) [edit]
FLT_MIN_10_EXPDBL_MIN_10_EXPLDBL_MIN_10_EXP
float, double, long double において 10 の n-1 乗が正規化数であるような最も小さな負の整数 n
(マクロ定数) [edit]
FLT_TRUE_MINDBL_TRUE_MINLDBL_TRUE_MIN
(C++17)
float, double, long double の最も小さな正の値
(マクロ定数) [edit]
FLT_MAXDBL_MAXLDBL_MAX
float, double, long double の最大値
(マクロ定数) [edit]
FLT_EPSILONDBL_EPSILONLDBL_EPSILON
float, double, long double における 1.0 とその次の表現可能な値の差
(マクロ定数) [edit]
FLT_DIGDBL_DIGLDBL_DIG
文字列から float, double, long double に変換し、再び文字列に戻したときに丸めやオーバーフローによる変化を起こさず維持されることが保証される10進数の桁数 (詳細は std::numeric_limits::digits10 を参照してください)
(マクロ定数) [edit]
FLT_MANT_DIGDBL_MANT_DIGLDBL_MANT_DIG
float, double, long double において精度を失わずに表現できる FLT_RADIX 進数の桁数
(マクロ定数) [edit]
FLT_MIN_EXPDBL_MIN_EXPLDBL_MIN_EXP
float, double, long double において FLT_RADIX の n-1 乗が正規化数であるような最も小さな負の整数 n
(マクロ定数) [edit]
FLT_MIN_10_EXPDBL_MIN_10_EXPLDBL_MIN_10_EXP
float, double, long double において 10 の n-1 乗が正規化数であるような最も小さな負の整数 n
(マクロ定数) [edit]
FLT_MAX_EXPDBL_MAX_EXPLDBL_MAX_EXP
float, double, long double において FLT_RADIX の n-1 乗が正規化数であるような最も大きな正の整数 n
(マクロ定数) [edit]
FLT_MAX_10_EXPDBL_MAX_10_EXPLDBL_MAX_10_EXP
float, double, long double において 10 の n-1 乗が正規化数であるような最も大きな正の整数 n
(マクロ定数) [edit]
浮動小数点算術のデフォルトの丸めモード
(マクロ定数) [edit]
すべての算術演算がどの精度で行われるかを表します
(マクロ定数) [edit]
FLT_HAS_SUBNORMDBL_HAS_SUBNORMLDBL_HAS_SUBNORM
(C++17)
型が非正規化数をサポートするかどうかを表します。 -1(不明)、0(なし)、1(あり)
(マクロ定数) [edit]

[編集] 関連項目

数値の限界C言語リファレンス