以下符号表示整数类型的范围限制。
类型 | 最低限制 | 最高限制 |
---|---|---|
char | CHAR_MIN | CHAR_MAX |
short | SHRT_MIN | SHRT_MAX |
int | INT_MIN | INT_MAX |
long | LONG_MIN | LONG_MAX |
long long | LLONG_MIN | LLONG_MAX |
float | FLT_MIN | FLT_MAX |
double | DBL_MIN | DBL_MAX |
long double | LDBL_MIN | LDBL_MAX |
无符号整数类型的下限均为0。
对应于无符号整数类型的上限的符号是:UCHAR_MAX
,USHRT_MAX
,UINT_MAX
,ULONG_MAX
和ULLONG_MAX
。
以下代码将演示编译器的限制:
#include <stdio.h> // For command line input and output
#include <limits.h> // For limits on integer types
#include <float.h> // For limits on floating-point types
int main(void){
printf(Variables of type char store values from %d to %d\n, CHAR_MIN, CHAR_MAX);
printf(Variables of type unsigned char store values from 0 to %u\n, UCHAR_MAX);
printf(Variables of type short store values from %d to %d\n, SHRT_MIN, SHRT_MAX);
printf(Variables of type unsigned short store values from 0 to %u\n, USHRT_MAX);
printf(Variables of type int store values from %d to %d\n, INT_MIN, INT_MAX);
printf(Variables of type unsigned int store values from 0 to %u\n, UINT_MAX);
printf(Variables of type long store values from %ld to %ld\n, LONG_MIN, LONG_MAX);
printf(Variables of type unsigned long store values from 0 to %lu\n, ULONG_MAX);
printf(Variables of type long long store values from %lld to %lld\n, LLONG_MIN, LLONG_MAX);
printf(Variables of type unsigned long long store values from 0 to %llu\n, ULLONG_MAX);
printf(\nThe size of the smallest positive non-zero value of type float is %.3e\n, FLT_MIN);
printf(The size of the largest value of type float is %.3e\n, FLT_MAX);
printf(The size of the smallest non-zero value of type double is %.3e\n, DBL_MIN);
printf(The size of the largest value of type double is %.3e\n, DBL_MAX);
printf(The size of the smallest non-zero value of type long double is %.3Le\n, LDBL_MIN);
printf(The size of the largest value of type long double is %.3Le\n, LDBL_MAX);
printf(\n Variables of type float provide %u decimal digits precision. \n, FLT_DIG);
printf(Variables of type double provide %u decimal digits precision. \n, DBL_DIG);
printf(Variables of type long double provide %u decimal digits precision. \n,
LDBL_DIG);
int number = INT_MAX;
printf(%d,number);
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。