The "most negative number" is always a problem on 2's complement machines. Rather than have every routine have a special case for this, we usually prohibit it the same way we prohibit numbers larger than the largest. Sometimes one can handle the "most negative number" without making a special case; atoi() is an example (use a negative accumulator).