<climits>(limits.h)C ++中(整数类型的大小)的宏常量

C ++宏常量(整数类型的大小)

在本教程中,我们将学习一些定义的宏常量,这些常量用于查找整数类型大小,例如字符,短整数,长整数,长整数。这些宏常量用于查找任何整数类型的数据类型的最小和最大大小。

这些宏在<limits.h>头文件和<climits>头文件(对于C ++ 11)中定义。

C ++中的宏常量列表

此处是宏常量的列表,可用于查找特定整数数据类型大小,最小值和最大值

宏常数 描述值*
CHAR_BIT它在char对象中返回其编号。8
SCHAR_MIN它返回签名的char对象的最小值。-128
SCHAR_MAX它返回已签名char对象的最大值。127
UCHAR_MAX它返回一个无符号char对象的最大值。255
CHAR_MIN它返回一个char对象的最小值。0或SCHAR_MIN
CHAR_MAX它返回一个char对象的最大值SCHAR_MAX或UCHAR_MAX
MB_LEN_MAX对于任何语言环境,它以多字节字符形式返回最大字节数 1或更大
SHRT_MIN它返回带符号的short int对象的最小值。-32768
SHRT_MAX它返回一个有符号的short int对象的最大值。32767
USHRT_MAX它返回一个无符号short int对象的最大值。65535
INT_MIN它返回一个有符号的int对象的最小值。-32768或-2147483648
INT_MAX它返回一个有符号的int对象的最大值。32767或2147483647
UINT_MAX它返回一个无符号int对象的最大值。65535或4294967295
LONG_MIN它返回一个有符号的long int对象的最小值。-2147483648或-9223372036854775808
LONG_MAX它返回一个有符号的long int对象的最大值。2147483647或9223372036854775807
ULONG_MAX它返回一个无符号long int对象的最大值。4294967295或18446744073709551615
LLONG_MIN它返回一个有符号long long int对象的最小值。-9223372036854775808
LLONG_MAX它返回一个有符号long long int对象的最大值。9223372036854775807
ULLONG_MAX它返回一个无符号long long int对象的最大值。18446744073709551615

*实际值取决于编译器体系结构或库的实现。

参考:C ++ <climits>(limits.h)

C ++程序打印整数类型的大小

//C ++程序打印整数类型的大小
#include<iostream>
#include<climits>
using namespace std;

int main(){
	cout << "CHAR_BIT 		" << CHAR_BIT 	<< endl;
	cout << "SCHAR_MIN 		" << SCHAR_MIN 	<< endl;
	cout << "SCHAR_MAX 		" << SCHAR_MAX 	<< endl;
	cout << "UCHAR_MAX 		" << UCHAR_MAX 	<< endl;
	cout << "CHAR_MIN 		" << CHAR_MIN 	<< endl;
	cout << "CHAR_MAX 		" << CHAR_MAX 	<< endl;
	cout << "MB_LEN_MAX 		" << MB_LEN_MAX << endl;
	cout << "SHRT_MIN 		" << SHRT_MIN 	<< endl;
	cout << "SHRT_MAX 		" << SHRT_MAX 	<< endl;
	cout << "USHRT_MAX 		" << USHRT_MAX 	<< endl;
	cout << "INT_MIN 		" << INT_MIN 	<< endl;
	cout << "INT_MAX 		" << INT_MAX 	<< endl;
	cout << "UINT_MAX 		" << UINT_MAX	<< endl;
	cout << "LONG_MIN 		" << LONG_MIN	<< endl;
	cout << "LONG_MAX 		" << LONG_MAX	<< endl;
	cout << "ULONG_MAX 		" << ULONG_MAX	<< endl;
	cout << "LLONG_MIN 		" << LLONG_MIN	<< endl;
	cout << "LLONG_MAX 		" << LLONG_MAX	<< endl;
	cout << "ULLONG_MAX 		" << ULLONG_MAX	<< endl;

	return 0;
}

输出结果

CHAR_BIT                8
SCHAR_MIN               -128
SCHAR_MAX               127
UCHAR_MAX               255
CHAR_MIN                -128
CHAR_MAX                127
MB_LEN_MAX              16
SHRT_MIN                -32768
SHRT_MAX                32767
USHRT_MAX               65535
INT_MIN                 -2147483648
INT_MAX                 2147483647
UINT_MAX                4294967295
LONG_MIN                -9223372036854775808
LONG_MAX                9223372036854775807
ULONG_MAX               18446744073709551615
LLONG_MIN               -9223372036854775808
LLONG_MAX               9223372036854775807
ULLONG_MAX              18446744073709551615