c语言标准库详解(十五):<limits.h>与<float.h>
概述
<limits.h>
头文件<limits.h>定义了一些表示整型大小的常量。以下所列的值是可接受的最小值,在实际系统中可以使用更大的值。
宏 | 值 | 备注 |
---|---|---|
CHAR_BIT | 8 | char 类型的位数 |
CHAR_MAX | UCHAR_MAX 或 SCHAR_MAX | char 类型的最大值 |
CHAR_MIN | 0 或 SCHAR_MIN | char 类型的最小值 |
INT_MAX | 32767 | int 类型的最大值 |
INT_MIN | -32767 | int 类型的最小值 |
LONG_MAX | 2147483647 | long 类型的最大值 |
LONG_MIN | -2147483647 | long 类型的最小值 |
SCHAR_MAX | +127 | signed char 类型的最大值 |
SCHAR_MIN | -127 | signed char 类型的最小值 |
SHRT_MAX | +32767 | short 类型的最大值 |
SHRT_MIN | -32767 | short 类型的最小值 |
UCHAR_MAX | 255 | unsigned char 类型的最大值 |
UINT_MAX | 65535 | unsigend int 类型的最大值 |
ULONG_MAX | 4294967295 | unsigned long 类型的最大值 |
USHRT_MAX | 65535 | unsigned short 类型的最大值 |
<float.h>
下表列出的名字是<float.h>的一个子集,它们是与浮点算术运算相关的一些常量。给出的每个值代表相应量的最小取值。各个实现可以定义适当的值。
宏 | 值 | 备注 |
---|---|---|
FLT_RADIX | 2 | 指数表示的基数,例如 2、16 |
FLT_ROUNDS | -1(无法确定);0(趋向于0);1(趋向最近的值);2(趋向于正无穷);3(趋向于负无穷) | 加法的浮点舍入模式 |
FLT_DIG | 6 | 表示精度的十进制数字 |
FLT_EPSILON | 1E-5 | 最小的数 x,x 满足:1.0 + x ≠ 1.0 |
FLT_MANT_DIG | - | 尾数中的数(以 FLT_RADIX 为基数) |
FLT_MAX | 1E+37 | 最大的浮点数 |
FLT_MAX_EXP | - | 最大的数 n,n 满足 FLT_RADIX^n-1 仍是可表示的 |
FLT_MIN | 1E-37 | 最小的规格化浮点数 |
FLT_MIN_EXP | - | 最小的数 n,n 满足:10^n是一个规格化数 |
DBL_DIG | 10 | 表示精度的十进制数字 |