以前经常看到带符号的char类型取值范围是-128——127,今天突然想为什么不是-127——127,-128是怎么来的? 127好理解,char类型是8位,最高位是符号位,0正1负,所以01111111是127. 但是-128是怎么来的呢?11111111不是-127吗? 后来想起来计算机里面所有数都是用补码表示的,正数补码是其本身,负数补码是原码的反码加1. 所以-127是10000001,而10000000换算过来就是-128. 所以, 8位有符号的整数取值范围的补码表示 1000 000