Ну надо для начала уточнять какой int, в разных языках и на разных платформах он может быть разным. На данный int выделяется 16 бит, следовательно значения могут быть в диапазоне от -(2^15) до (2^15)-1. А -32768 потому, что используется дополнительный код, то есть старший разряд отдаётся под знак и 2 числа 0 быть не может, поэтому
0000000000000000 - ноль
1000000000000000 -1
0111111111111111 - +32767
1000000000000000 - -32768