// Program to display limits for integer types
// (NDE, 2013-12-28)
#include <iostream>
#include <limits>
using namespace std;
int main()
{
cout << "char:\n"
<< 8*sizeof(char) << " bits\n"
<< "min " << 1*numeric_limits<char>::min() << "\n"
<< "max " << 1*numeric_limits<char>::max() << "\n"
<< endl;
cout << "short:\n"
<< 8*sizeof(short) << " bits\n"
<< "min " << numeric_limits<short>::min() << "\n"
<< "max " << numeric_limits<short>::max() << "\n"
<< endl;
cout << "int:\n"
<< 8*sizeof(int) << " bits\n"
<< "min " << numeric_limits<int>::min() << "\n"
<< "max " << numeric_limits<int>::max() << "\n"
<< endl;
cout << "long:\n"
<< 8*sizeof(long) << " bits\n"
<< "min " << numeric_limits<long>::min() << "\n"
<< "max " << numeric_limits<long>::max() << "\n"
<< endl;
cout << "unsigned char:\n"
<< 8*sizeof(unsigned char) << " bits\n"
<< "min " << 1*numeric_limits<unsigned char>::min() << "\n"
<< "max " << 1*numeric_limits<unsigned char>::max() << "\n"
<< endl;
cout << "unsigned short:\n"
<< 8*sizeof(unsigned short) << " bits\n"
<< "min " << numeric_limits<unsigned short>::min() << "\n"
<< "max " << numeric_limits<unsigned short>::max() << "\n"
<< endl;
cout << "unsigned int:\n"
<< 8*sizeof(unsigned int) << " bits\n"
<< "min " << numeric_limits<unsigned int>::min() << "\n"
<< "max " << numeric_limits<unsigned int>::max() << "\n"
<< endl;
cout << "unsigned long:\n"
<< 8*sizeof(unsigned long) << " bits\n"
<< "min " << numeric_limits<unsigned long>::min() << "\n"
<< "max " << numeric_limits<unsigned long>::max() << "\n"
<< endl;
return 0;
}