// -----------
// Limits1.c++
// -----------
#include <cassert> // assert
#include <climits> // CHAR_MIN...
#include <cfloat> // FLT_MIN...
#include <iostream> // cout, endl
#include <sstream> // ostringstream
#include <string> // ==
int main () {
using namespace std;
cout << "Limits1.c++" << endl;
assert(CHAR_MIN == -128);
assert(CHAR_MAX == 127);
assert(UCHAR_MAX == 255);
assert(SHRT_MIN == -32768);
assert(SHRT_MAX == 32767);
assert(USHRT_MAX == 65535);
assert(INT_MIN == -2147483647 - 1);
assert(INT_MAX == 2147483647);
assert(UINT_MAX == 4294967295U);
assert(LONG_MIN == -2147483647 - 1);
assert(LONG_MAX == 2147483647);
assert(ULONG_MAX == 4294967295U);
assert(LLONG_MIN == -9223372036854775807LL - 1);
assert(LLONG_MAX == 9223372036854775807LL);
assert(ULLONG_MAX == 18446744073709551615ULL);
{
ostringstream out;
out << FLT_MIN;
assert(out.str() == "1.17549e-38");
}
{
ostringstream out;
out << FLT_MAX;
assert(out.str() == "3.40282e+38");
}
{
ostringstream out;
out << DBL_MIN;
assert(out.str() == "2.22507e-308");
}
{
ostringstream out;
out << DBL_MAX;
assert(out.str() == "1.79769e+308");
}
{
ostringstream out;
out << LDBL_MIN;
assert(out.str() == "3.3621e-4932");
}
{
ostringstream out;
out << LDBL_MAX;
assert(out.str() == "1.18973e+4932");
}
cout << "Done." << endl;
return 0;}
syntax highlighted by Code2HTML, v. 0.9.1