When performing calculations with any numbers, the possible ranges of both the inputs and outputs must be considered. For each type of number, there is a limit to both its maximum values and minimum values. These are defined on each system in the C standard library for that system in the header file, limits.h.
As the programmer, you must ensure that the results of any arithmetic operation are within the limits of the range for the data type specified, or your program must check for valid inputs thereby preventing invalid outputs. There are three types of invalid outputs that will cause the C runtime to abort— Not a Number (NaN), underflow, and overflow.