最大値・最小値の定数
最大値・最小値の定数は、データ型の最大桁数などを定数にしたものです。
プログラムを作成したときに、オーバーフローなどの不具合が発生したときには、データ型の最大値を超えている可能性があります。
その場合は、これらの定数で上限値を決めると良いでしょう。
最大値・最小値の定数
定数 | 数値 | 説明 |
CHAR_MIN | -128 | char型の最小値 |
CHAR_MAX | 127 | char型の最大値 |
UCHAR_MAX | 255 | uchar型の最大値 |
SHORT_MIN | -32768 | short型の最小値 |
SHORT_MAX | 32767 | short型の最大値 |
USHORT_MAX | 65535 | ushort型の最小値 |
INT_MIN | -2147483648 | int型の最小値 |
INT_MAX | 2147483647 | int型の最大値 |
UINT_MAX | 4294967295 | uint型の最大値 |
LONG_MIN | -9.22337e+18 | long型の最小値 |
LONG_MAX | 9.22337e+18 | long型の最大値 |
ULONG_MAX | 1.84467e+19 | ulong型の最大値 |
DBL_MIN | 0.00E-01 | double型の最小値(正数) |
DBL_MAX | 1.7976931348623158e+308 | double型の最大値 |
DBL_EPSILON | 2.22E-16 | 以下条件時のdouble型の最小値 1.0+DBL_EPSILON != 1.0 |
DBL_DIG | 15 | double型の精度(桁数) |
DBL_MANT_DIG | 53 | double型の仮数部ビット数 |
DBL_MAX_10_EXP | 308 | double型の指数部最大数(10進数) |
DBL_MAX_EXP | 1024 | double型の指数部最大数(バイナリ) |
DBL_MIN_10_EXP | -307 | double型の指数部最小数(10進数) |
DBL_MIN_EXP | -1021 | double型の指数部最小数(バイナリ) |
FLT_MIN | 1.18E-38 | float型の最小値(正数) |
FLT_MAX | 3.40E+38 | float型の最大値 |
FLT_EPSILON | 1.192092896e-07 | 以下条件時のfloat型の最小値 1.0+FLT_EPSILON != 1.0 |
FLT_DIG | 6 | float型の精度(桁数) |
FLT_MANT_DIG | 24 | float型の仮数部ビット数 |
FLT_MAX_10_EXP | 38 | float型の指数部最大数(10進数) |
FLT_MAX_EXP | 128 | float型の指数部最大数(バイナリ) |
FLT_MIN_10_EXP | -37 | float型の指数部最小数(10進数) |
FLT_MIN_EXP | -125 | float型の指数部最小数(バイナリ) |
最大値・最小値の定数の使い方
オーバーフローなどの不具合を回避するために使用することが多いでしょう。
大抵のロジックでは、オーバーフローは起こりませんが、ときどき発生するので、上限値を決めておくと良いでしょう。
例えば、以下のように使用します。
void OnInit() {
for(int i = 0; i < INT_MAX; i++){
Print(i);
}
}