你这么理解,short 是几个字节?2个对吧,也就是16 bits32768 转换成二进制是多少?1000 0000 0000 0000懂了吧?只有符号位为1,那肯定是负的,其他按照补码来算,就是-32767
因为short是有符号的,最高位是1的话,表示负数 。输入 32768,正好使得short型的最高位是1,其它位是0,所以是负数。由于负数采用补码,所以后面位都是0的话,实际表示的值是32768,因此最终负数值就是 -32768