听说有人想知道各变量类型所占字节数,所以去我就特意写了这些代码。
#include<iostream>
#include<string>
#include <limits>
#include<Windows.h>
using namespace std;
int main()
{
cout << "type:\t\t" << "---size---" << endl;
cout << "bool:\t\t" << "所占字节数:" << sizeof(bool)
<< "\t位数:" << sizeof(bool)*8
<< "\t\t最小值:" << (numeric_limits<bool>::min)()
<< "\t\t最大值:" << (numeric_limits<bool>::max)() << endl << endl;
cout << "char:\t\t" << "所占字节数:" << sizeof(char)
<< "\t位数:" << sizeof(char) * 8
<< "\t\t最小值:" << (numeric_limits<char>::min)()
<< "\t\t最大值:" << (numeric_limits<char>::max)() << endl << endl;
cout << "signed char:\t" << "所占字节数:" << sizeof(signed char)
<< "\t位数:" << sizeof(signed char) * 8
<< "\t\t最小值:" << (numeric_limits<signed char>::min)()
<< "\t\t最大值:" << (numeric_limits<signed char>::max)() << endl << endl;
cout << "unsigned char: \t" << "所占字节数:" << sizeof(unsigned char)
<< "\t位数:" << sizeof(unsigned char) * 8
<< "\t\t最小值:" << (numeric_limits<unsigned char>::min)()
<< "\t\t最大值:" << (numeric_limits<unsigned char>::max)() << endl << endl;
cout << "wchar_t: \t" << "所占字节数:" << sizeof(wchar_t)
<< "\t位数:" << sizeof(wchar_t) * 8
<< "\t最小值:" << (numeric_limits<wchar_t>::min)()
<< "\t\t最大值:" << (numeric_limits<wchar_t>::max)() << endl << endl;
cout << "short: \t\t" << "所占字节数:" << sizeof(short)
<< "\t位数:" << sizeof(short) * 8
<< "\t最小值:" << (numeric_limits<short>::min)()
<< "\t\t最大值:" << (numeric_limits<short>::max)() << endl << endl;
cout << "int: \t\t" << "所占字节数:" << sizeof(int)
<< "\t位数:" << sizeof(int) * 8
<< "\t最小值:" << (numeric_limits<int>::min)()
<< "\t最大值:" << (numeric_limits<int>::max)() << endl << endl;
cout << "unsigned int: \t" << "所占字节数:" << sizeof(unsigned)
<< "\t位数:" << sizeof(unsigned) * 8
<< "\t最小值:" << (numeric_limits<unsigned>::min)()
<< "\t\t最大值:" << (numeric_limits<unsigned>::max)() << endl << endl;
cout << "long: \t\t" << "所占字节数:" << sizeof(long)
<< "\t位数:" << sizeof(long) * 8
<< "\t最小值:" << (numeric_limits<long>::min)()
<< "\t最大值:" << (numeric_limits<long>::max)() << endl << endl;
cout << "unsigned long: \t" << "所占字节数:" << sizeof(unsigned long)
<< "\t位数:" << sizeof(unsigned long) * 8
<< "\t最小值:" << (numeric_limits<unsigned long>::min)()
<< "\t\t最大值:" << (numeric_limits<unsigned long>::max)() << endl << endl;
cout << "float: \t\t" << "所占字节数:" << sizeof(float)
<< "\t位数:" << sizeof(float) * 8
<< "\t最小值:" << (numeric_limits<float>::min)()
<< "\t最大值:" << (numeric_limits<float>::max)() << endl << endl;
cout << "double: \t" << "所占字节数:" << sizeof(double)
<< "\t位数:" << sizeof(double) * 8
<< "\t最小值:" << (numeric_limits<double>::min)()
<< "\t最大值:" << (numeric_limits<double>::max)() << endl << endl;
cout << "size_t: \t" << "所占字节数:" << sizeof(size_t)
<< "\t位数:" << sizeof(size_t) * 8
<< "\t最小值:" << (numeric_limits<size_t>::min)()
<< "\t\t最大值:" << (numeric_limits<size_t>::max)() << endl << endl;
cout << "string: \t" << "所占字节数:" << sizeof(string)
<< "\t位数:" << sizeof(string) * 8 << endl;
system("pause");
return 0;
}
运行结果: