符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输出符举例
-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u
signed -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u
unsigned -- char 8 0 ~ 2^8-1 %c %c、%d、%u
[signed] short [int] 16 -2^15 ~ 2^15-1 %hd
unsigned short [int] 16 0 ~ 2^16-1 %hu、%ho、%hx
[signed] -- int 32 -2^31 ~ 2^31-1 %d
unsigned -- [int] 32 0 ~ 2^32-1 %u、%o、%x
[signed] long [int] 32 -2^31 ~ 2^31-1 %ld
unsigned long [int] 32 0 ~ 2^32-1 %lu、%lo、%lx
[signed] long long [int] 64 -2^63 ~ 2^63-1 %I64d
unsigned long long [int] 64 0 ~ 2^64-1 %I64u、%I64o、%I64x
-- -- float 32 +/- 3.40282e+038 %f、%e、%g
-- -- double 64 +/- 1.79769e+308 %lf、%le、%lg %f、%e、%g
-- long double 96 +/- 1.79769e+308 %Lf、%Le、%Lg
#include<iostream>
#include <limits>
using namespace std;int main()
{//boolcout << "bool: \t\t" << "所占字节数:" << sizeof(bool);cout << "\t最大值:" << (numeric_limits<bool>::max)();cout << "\t\t最小值:" << (numeric_limits<bool>::min)() << endl;//charcout << "char: \t\t" << "所占字节数:" << sizeof(char);cout << "\t最大值:" << (numeric_limits<char>::max)();cout << "\t\t最小值:" << (numeric_limits<char>::min)() << endl;//signed charcout << "signed char: \t" << "所占字节数:" << sizeof(signed char);cout << "\t最大值:" << (numeric_limits<signed char>::max)();cout << "\t\t最小值:" << (numeric_limits<signed char>::min)() << endl;//unsigned charcout << "unsigned char: \t" << "所占字节数:" << sizeof(unsigned char);cout << "\t最大值:" << (numeric_limits<unsigned char>::max)();cout << "\t\t最小值:" << (numeric_limits<unsigned char>::min)() << endl;//wchar_tcout << "wchar_t: \t" << "所占字节数:" << sizeof(wchar_t);cout << "\t最大值:" << (numeric_limits<wchar_t>::max)();cout << "\t\t最小值:" << (numeric_limits<wchar_t>::min)() << endl;//shortcout << "short: \t\t" << "所占字节数:" << sizeof(short);cout << "\t最大值:" << (numeric_limits<short>::max)();cout << "\t\t最小值:" << (numeric_limits<short>::min)() << endl;//intcout << "int: \t\t" << "所占字节数:" << sizeof(int);cout << "\t最大值:" << (numeric_limits<int>::max)();cout << "\t最小值:" << (numeric_limits<int>::min)() << endl;//unsignedcout << "unsigned: \t" << "所占字节数:" << sizeof(unsigned);cout << "\t最大值:" << (numeric_limits<unsigned>::max)();cout << "\t最小值:" << (numeric_limits<unsigned>::min)() << endl;//longcout << "long: \t\t" << "所占字节数:" << sizeof(long);cout << "\t最大值:" << (numeric_limits<long>::max)();cout << "\t最小值:" << (numeric_limits<long>::min)() << endl;//unsigned longcout << "unsigned long: \t" << "所占字节数:" << sizeof(unsigned long);cout << "\t最大值:" << (numeric_limits<unsigned long>::max)();cout << "\t最小值:" << (numeric_limits<unsigned long>::min)() << endl;//floatcout << "float: \t\t" << "所占字节数:" << sizeof(float);cout << "\t最大值:" << (numeric_limits<float>::max)();cout << "\t最小值:" << (numeric_limits<float>::min)() << endl;//size_tcout << "size_t: \t" << "所占字节数:" << sizeof(size_t);cout << "\t最大值:" << (numeric_limits<size_t>::max)();cout << "\t最小值:" << (numeric_limits<size_t>::min)() << endl;//doublecout << "double: \t" << "所占字节数:" << sizeof(double);cout << "\t最大值:" << (numeric_limits<double>::max)();cout << "\t最小值:" << (numeric_limits<double>::min)() << endl;//long longcout << "long long: \t" << "所占字节数:" << sizeof(long long);cout << "\t最大值:" << (numeric_limits<long long>::max)();cout << "\t最小值:" << (numeric_limits<long long>::min)() << endl;//long doublecout << "long double: \t" << "所占字节数:" << sizeof(long double);cout << "\t最大值:" << (numeric_limits<long double>::max)();cout << "\t最小值:" << (numeric_limits<long double>::min)() << endl;return 0;
}