If you are using too large numbers you can't use basic types, use a library like GMP ( http://gmplib.org/ )
Why are you returning 1 from main? You should return 0
Just notice that those values are not always valid:
The values of the columns Size and Range depend on the system the program is compiled for. The values shown above are those found on most 32-bit systems. But for other systems, the general specification is that int has the natural size suggested by the system architecture (one "word") and the four integer types char, short, int and long must each one be at least as large as the one preceding it, with char being always 1 byte in size. The same applies to the floating point types float, double and long double, where each one must provide at least as much precision as the preceding one.