In two-parameter arithmetic, data types range from (-2 ** n) to (2 ** n - 1) (where "n" is 1 less than the number of bits in the data type).
For example, a 16-bit signed integer has a valid range from -32768 (-2 ** 15) to 32767 (2 ** 15 - 1).
-32768 / -1 = +32768, which exceeds the valid range for a signed 16-bit integer.
source share