使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理

时间:2023-03-08 16:17:59

在头文件climits(limits.h)以宏定义的方式定义了各种符号常量来表示各种整型类型表示数的范围,如int的最大最小值,long的最大最小值等。

符号常量

表示

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 的最小值

UNIT_MAX

unsigned int 的最大值

LONG_MAX

long 的最大值

LONG_MIN

long 的最小值

LONG_MAX

unsigned long 的最大值

  1. #include <iostream>
  2. #include <climits>
  3. using namespace std;
  4. int main()
  5. {
  6. cout << "Size:" << endl;
  7. cout << "int is     "   << sizeof (int)     << "bytes." << endl;
  8. cout << "short is   "   << sizeof (short)   << "bytes." << endl;
  9. cout << "long is    "   << sizeof (long)    << "bytes." << endl << endl;
  10. cout << "Bits per byte = " << CHAR_BIT << endl << endl;
  11. cout << "Maximum values:" << endl;
  12. cout << "int:           "   << INT_MAX << endl;
  13. cout << "short:         "   << SHRT_MAX << endl;
  14. cout << "long:          "   << LONG_MAX << endl;
  15. cout << "char:          "   << CHAR_MAX << endl;
  16. cout << "signed char:   "   << SCHAR_MAX << endl;
  17. cout << "unsigned int:  "   << UINT_MAX << endl;
  18. cout << "unsigned short:"   << USHRT_MAX << endl;
  19. cout << "unsigned long: "   << ULONG_MAX << endl;
  20. cout << "unsigned char: "   << UCHAR_MAX << endl << endl;
  21. cout << "Minimum values:" << endl;
  22. cout << "int:           "   << INT_MIN << endl;
  23. cout << "short:         "   << SHRT_MIN << endl;
  24. cout << "long:          "   << LONG_MIN <<endl;
  25. cout << "char:          "   << CHAR_MIN <<endl;
  26. cout << "signed char:   "   << SCHAR_MIN  <<endl;
  27. system("pause");
  28. return 0;
  29. }

运行结果

使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理

结果与下标一致。

使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理

使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理

注意:头文件climits中的符号常量是获知整型数据的表数范围,并不能获取浮点类型数据的表数范围。

<cfloat>  该头文件包含了系统的浮点数的长度限制,它以取代了头文件<float.h>
<climits>该头文件包含了系统的整数长度的限制,它已取代了头文件<limits.h>