使用:float.h是C标准函式库中的头文件,定义了浮点类型的一些极限值。
DBL_DIG 十进制的精度位数:15
DBL_EPSILON 保持运算的最小值:2.2204460492503131e-016
DBL_MANT_DIG 尾数的位数:53
DBL_MAX 最大值:1.7976931348623158e+308
DBL_MAX_10_EXP 10进制最大指数值:308
DBL_MAX_EXP 2进制最大指数值:1024 (即可以表示到21024这个数量级的值)
DBL_MIN 最小的正值:2.2250738585072014e-308
DBL_MIN_10_EXP10进制最小指数值: (-307)
DBL_MIN_EXP 2进制最小指数值: (-1021)
_DBL_RADIX 指数的进制基数: 2
_DBL_ROUNDS 额外的舍入方法: 1
FLT_DIG 10进制的精度位数 6
FLT_EPSILON 保持加法运算的最小值 1.192092896e-07F
FLT_MANT_DIG 尾数的位数: 24
FLT_MAX 最大值:3.402823466e+38F
FLT_MAX_10_EXP 十进制的最大指数值: 38
FLT_MAX_EXP 二进制的最大指数值: 128
FLT_MIN 最小正值:1.175494351e-38F
FLT_MIN_10_EXP 最小10进制指数值: (-37)
FLT_MIN_EXP 最小二进制指数值: (-125)
FLT_NORMALIZE 0
FLT_RADIX 指数的进制基数: 2
FLT_ROUNDS 额外的舍入方法: 1
均规定为双精度浮点类型的极限值:
LDBL_DIG 即DBL_DIG
LDBL_EPSILON 即DBL_EPSILON
LDBL_MANT_DIG 即DBL_MANT_DIG
LDBL_MAX 即DBL_MAX
LDBL_MAX_10_EXP 即DBL_MAX_10_EXP
LDBL_MAX_EXP 即DBL_MAX_EXP
LDBL_MIN 即DBL_MIN
LDBL_MIN_10_EXP 即DBL_MIN_10_EXP
LDBL_MIN_EXP 即DBL_MIN_EXP
_LDBL_RADIX 即DBL_RADIX
_LDBL_ROUNDS 即DBL_ROUNDS
#include
#include
#include
#include
int main(void)
{
printf("char类型的最大值:%d\n",CHAR_MAX);
printf("char类型的最小值:%d\n",CHAR_MIN);
printf("signed char类型的最大值:%d\n",SCHAR_MAX);
printf("signed char类型的最小值:%d\n",SCHAR_MIN);
printf("unsigned char类型的最大值:%u\n\n",UCHAR_MAX);
printf("short类型的最大值:%hd\n",SHRT_MAX);
printf("short类型的最小值:%hd\n",SHRT_MIN);
printf("unsigned short类型的最大值:%u\n\n",USHRT_MAX);
printf("int类型的最大值:%d\n",INT_MAX);
printf("int类型的最小值:%d\n",INT_MIN);
printf("unsigned int类型的最大值:%u\n\n",UINT_MAX);
printf("long类型的最大值:%ld\n",LONG_MAX);
printf("long类型的最小值:%ld\n",LONG_MIN);
printf("unsigned long类型的最小值:%lu\n\n",ULONG_MAX);
printf("float类型的尾数位数:%u\n",FLT_MANT_DIG);
printf("float类型的最小有效数字位数:%u\n",FLT_DIG);
printf("带有全部有效数字位数的float类型的负指数的最小值:%d\n",FLT_MAX_10_EXP);
printf("带有全部有效数字位数的float类型的正指数的最大值:%d\n",FLT_MIN_10_EXP);
printf("保留全部精度的float类型正数的最小值:%e\n",FLT_MIN);
printf("保留全部精度的float类型正数的最大值:%e\n",FLT_MAX);
printf("1.00和比1.00大的最小的float类型值之间的差值:%e\n\n",FLT_EPSILON);
printf("double类型的尾数位数:%u\n",DBL_MANT_DIG);
printf("double类型的最小有效数字位数:%u\n",DBL_DIG);
printf("带有全部有效数字位数的double类型的负指数的最小值:%u\n",DBL_MAX_10_EXP);
printf("带有全部有效数字位数的double类型的正指数的最大值:%d\n",DBL_MIN_10_EXP);
printf("保留全部精度的double类型正数的最小值:%e\n",DBL_MIN);
printf("保留全部精度的double类型正数的最小值:%e\n",DBL_MAX);
printf("1.00和比1.00大的最小的double类型值之间的差值:%e\n\n",DBL_EPSILON);
printf("long double类型的尾数位数:%d\n",LDBL_MANT_DIG);
printf("long double类型的最小有效数字位数:%d\n",LDBL_DIG);
printf("带有全部有效数字位数的long double类型的负指数的最大值:%d\n",LDBL_MAX_10_EXP);
printf("带有全部有效数字位数的long double类型的正指数的最小值:%d\n",LDBL_MIN_10_EXP);
printf("保留全部精度的long double类型正数的最小值:%le\n",LDBL_MIN);
printf("保留全部精度的long double类型正数的最大值:%le\n",LDBL_MAX);
printf("1.00和比1.00大的最小的long double类型值之间的差值:%le\n\n",LDBL_EPSILON);
return 0;
}
运行结果为:
char类型的最大值:127
char类型的最小值:-128
signed char类型的最大值:127
signed char类型的最小值:-128
unsigned char类型的最大值:255
short类型的最大值:32767
short类型的最小值:-32768
unsigned short类型的最大值:65535
int类型的最大值:2147483647
int类型的最小值:-2147483648
unsigned int类型的最大值:4294967295
long类型的最大值:2147483647
long类型的最小值:-2147483648
unsigned long类型的最小值:4294967295
float类型的尾数位数:24
float类型的最小有效数字位数:6
带有全部有效数字位数的float类型的负指数的最小值:38
带有全部有效数字位数的float类型的正指数的最大值:-37
保留全部精度的float类型正数的最小值:1.175494e-038
保留全部精度的float类型正数的最大值:3.402823e+038
1.00和比1.00大的最小的float类型值之间的差值:1.192093e-007
double类型的尾数位数:53
double类型的最小有效数字位数:15
带有全部有效数字位数的double类型的负指数的最小值:308
带有全部有效数字位数的double类型的正指数的最大值:-307
保留全部精度的double类型正数的最小值:2.225074e-308
保留全部精度的double类型正数的最小值:1.797693e+308
1.00和比1.00大的最小的double类型值之间的差值:2.220446e-016
long double类型的尾数位数:64
long double类型的最小有效数字位数:18
带有全部有效数字位数的long double类型的负指数的最大值:4932
带有全部有效数字位数的long double类型的正指数的最小值:-4931
保留全部精度的long double类型正数的最小值:3.205284e-317
保留全部精度的long double类型正数的最大值:3.205284e-317
1.00和比1.00大的最小的long double类型值之间的差值:3.205284e-317
转载来源:
https://blog.csdn.net/longlongsvip/article/details/88087353
https://blog.csdn.net/windowsshaking/article/details/7368400