limits.h和float.h相关的整型和浮点型大小限制的定义和使用
作者:
江鹤旻
,
2023-07-11 20:25:59
,
所有人可见
,
阅读 158
使用limit.h和float.h头文件中定义的明示常量
int main(void)
{
printf("Some nember limits for this system:\n");
printf("Biggest int: %d\n",INT_MAX);
printf("Smallest long long: %lld\n",LLONG_MIN);
printf("One byte = %d bits on this system.\n",CHAR_BIT);
printf("Largest double: %e\n",DBL_MAX);
printf("Smallest normal float: %e\n",FLT_MIN);
printf("float precision = %d digits\n",FLT_DIG);
printf("float epsilon = %e\n",FLT_EPSILON);
return 0;
}
/*
在DEV中的运行结果为:
Some nember limits for this system:
Biggest int: 2147483647
Smallest long long: -9223372036854775808
One byte = 8 bits on this system.
Largest double: 1.797693e+308
Smallest normal float: 1.175494e-038
float precision = 6 digits
float epsilon = 1.192093e-007
--------------------------------
Process exited after 0.01019 seconds with return value 0
请按任意键继续. . .
*/
/*
limit.h头文件中的使用:
CHAR_BIT -- char类型的位数
CHAR_MAX -- char类型的最大值
CHAR_MIN -- char类型的最小值
SCHAR_MAX -- signed char类型的最大值
SCHAR_MIN -- signed char类型的最小值
UCHAR_MAX -- unsigned char类型的最大值
SHRT_MAX -- short类型的最大值
SHRT_MIN -- short类型的最小值
USHRT_MAX -- unsigned short类型的最大值
INT_MAX -- int类型的最大值
INT_MIN -- int类型的最小值
UINT_MAX -- unsigned int的最大值
LONG_MAx -- long类型的最大值
LONG_MIN -- long类型的最小值
ULONG_MAX -- unsigned long类型的最大值
LLONG_MAX -- long long类型的最大值
LLONG_MIN -- long long类型的最小值
ULLONG_MAX -- unsigned long long类型的最大值
float.h头文件中的使用:
FLT_MANT_DIG -- float类型的尾数位数 (%d)-- FLT_MANT_DIG = 24
FLT_DIG -- float类型的最少有效数宇位数(十进制 -- %d) (%d)-- FLT_DIG = 6
FLT_MIN_10_EXP -- 带全部有效数字的float类型的最小负指数(以10为底) (%d)-- FLT_MIN_10_EXP = -37
FLT_MAX_10_EXP -- float类型的最大正指数(以10为底) (%d)-- FLT_MAX_10_EXP = 38
FLT_MIN -- 保留全部精度的float类型最小正数(%f) (%f)-- FLT_MIN = 0.000000
FLT_MAX -- float类型的最大正数(%f / %g) (%f / %g)-- FLT_MAX = 340282346638528860000000000000000000000.000000 / 3.40282e+038
FLT_EPSILON -- 1.00和比1.00大的最小float类型值之间的差值(%g) (%g)-- FLT_EPSILON = 1.19209e-007
DBL_MANT_DIG -- double类型的尾数位数 (%d)-- DBL_MANT_DIG = 53
DBL_DIG -- double类型的最少有效数宇位数(十进制 -- %d) (%d)-- DBL_DIG = 15
DBL_MIN_10_EXP -- 带全部有效数字的double类型的最小负指数(以10为底) (%d)-- DBL_MIN_10_EXP = -307
DBL_MAX_10_EXP -- double类型的最大正指数(以10为底) (%d)-- DBL_MAX_10_EXP = 308
DBL_MIN -- 保留全部精度的double类型最小正数 (%f)-- DBL_MIN = 0.000000
DBL_MAX -- double类型的最大正数 (%f / %g)-- 1.79769e+308 / 17976931348623157 * 10^292
DBL_EPSILON -- 1.00和比1.00大的最小double类型值之间的差值 (%g)-- DBL_EPSILON = 2.22045e-016
LDBL_MANT_DIG -- long double类型的尾数位数
LDBL_DIG -- long double类型的最少有效数宇位数(十进制 -- %d)
LDBL_MIN_10_EXP -- 带全部有效数字的long double类型的最小负指数(以10为底)
LDBL_MAX_10_EXP -- long double类型的最大正指数(以10为底)
LDBL_MIN -- 保留全部精度的long double类型最小正数
LDBL_MAX -- long double类型的最大正数
LDBL_EPSILON -- 1.00和比1.00大的最小long double类型值之间的差值
*/