// -----------
// Limits2.c++
// -----------
#include <cassert> // assert
#include <iostream> // cout, endl
#include <limits> // numeric_limits
#include <sstream> // ostringstream
#include <string> // ==
int main () {
using namespace std;
cout << "Limits2.c++" << endl;
assert(numeric_limits< char>::min() == -128);
assert(numeric_limits< char>::max() == 127);
assert(numeric_limits<unsigned char>::min() == 0);
assert(numeric_limits<unsigned char>::max() == 255);
assert(numeric_limits< short>::min() == -32768);
assert(numeric_limits< short>::max() == 32767);
assert(numeric_limits<unsigned short>::min() == 0);
assert(numeric_limits<unsigned short>::max() == 65535);
assert(numeric_limits< int>::min() == -2147483647 - 1);
assert(numeric_limits< int>::max() == 2147483647);
assert(numeric_limits<unsigned int>::min() == 0);
assert(numeric_limits<unsigned int>::max() == 4294967295U);
assert(numeric_limits< long>::min() == -2147483647 - 1);
assert(numeric_limits< long>::max() == 2147483647);
assert(numeric_limits<unsigned long>::min() == 0);
assert(numeric_limits<unsigned long>::max() == 4294967295U);
assert(numeric_limits< long long>::min() == -9223372036854775807LL - 1);
assert(numeric_limits< long long>::max() == 9223372036854775807LL);
assert(numeric_limits<unsigned long long>::min() == 0);
assert(numeric_limits<unsigned long long>::max() == 18446744073709551615ULL);
{
ostringstream out;
out << numeric_limits<float>::min();
assert(out.str() == "1.17549e-38");
}
{
ostringstream out;
out << numeric_limits<float>::max();
assert(out.str() == "3.40282e+38");
}
{
ostringstream out;
out << numeric_limits<double>::min();
assert(out.str() == "2.22507e-308");
}
{
ostringstream out;
out << numeric_limits<double>::max();
assert(out.str() == "1.79769e+308");
}
{
ostringstream out;
out << numeric_limits<long double>::min();
assert(out.str() == "3.3621e-4932");
}
{
ostringstream out;
out << numeric_limits<long double>::max();
assert(out.str() == "1.18973e+4932");
}
cout << "Done." << endl;
return 0;}
syntax highlighted by Code2HTML, v. 0.9.1