java中byte的范围为何是-128---127而不是-127---127?1111 1111 这个应该是最小的负数,它应该是-127才对

问题描述:

java中byte的范围为何是-128---127而不是-127---127?1111 1111 这个应该是最小的负数,它应该是-127才对

我们都知道byte占8位.而2的8次方等于256,也就是byte最多可以表示256个不同的数,
127:128个
-0~127:128个
但是这里0与-0表示一样的数了,所以就用-0的二进制补码表示到-128里面去了