Originally Posted by
Adak
You're missing the point. We're not talking about results that you MIGHT receive. Nor are we talking about the results that you DID receive.
We're talking about what ANYONE with a standard C compiler, can expect to work, for large integral values.
That upper limit is included in limits.h, and is generally defined as ULONG_MAX, or MAX_ULONG, or a similar name. If you have long long's, then look for that limit's definition, of course.
Awhile back, I worked with a poster to find the highest range of several types of numbers, and all the integral types larger than 8 bits, (char's and shorts on my system), could be run up above their limits as listed in the header. In some cases, by quite a bit. But that doesn't mean they're safe to use, on other compilers which are set to that same C standard.
If you go beyond the limits set by the standard, (which will almost always be quite conservative), you can not defend that decision, to a customer, to a court, or anyone else. If it works for you, fine, but that is a long way from being able to say "it's ANSI/standard C".
Personally, I think it's fun to go exploring those unexplored niche's in C, once in awhile, as long as we're clear that it is outside the limits of standard C.