limits头文件,类型的固定常量方便使用
要判断某种特定类型可以容纳的最大值或最小值,一种简便的方法是使用ANSI标准头文件limits.h中的预定义值。该文件包含一些很有用的常量,它们定义了各种类型所能容纳的值,下表列出了这些常量:
----------------------------------------------------------------
常 量 描 述
----------------------------------------------------------------
CHAR_BIT char的位数(bit)
CHAR_MAX char的十进制整数最大值
CHAR_MIN char的十进制整数最小值
MB_LEN_MAX 多字节字符的最大字节(byte)数
INT_MAX int的十进制最大值
INT_MIN int的十进制最小值
LONG_MAX long的十进制最大值
LONG_MIN long的十进制最小值
SCHAR_MAX signedchar的十进制整数最大值
SCHAR_MIN signedchar的十进制整数最小值
SHRT_MIN short的十进制最小值
SHRT_MAX short的十进制最大值
UCHAR_MAX unsignedchar的十进制整数最大值
UINT_MAX unsignedint的十进制最大值
ULONG_MAX unsignedlongint的十进制最大值
USHRT_MAX unsignedshortint的十进制最大值
-----------------------------------------------------------------
对于整数类型,在使用2的补码运算的机器(你将使用的机器几乎都属此类)上,一个有符号类型可以容纳的数字范围为(-位数^2)到(+位数^2-1),一个无符号类型可以容纳的数字范围为0到(+位数^2-1)。例如,一个16位有符号整数可以容纳的数字范围为-2^15(即-32768)到(+2^15-1)(即+32767)。