最初刚刚开始的时候,我怎么也弄不明白java中为什么可以到得到-128的值,经过自己在网上查找一些相关的资料之后,终有所悟。在csdn论坛上的这个图很好的说明了这个问题:
0 00000000
1 00000001
... ........
127 01111111
----------------
共 128 个
-1 11111111
-2 11111110
... ...
-128 10000000
----------------
共 128 个
我们都知道byte占8位。而2的8次方等于256,也就是byte最多可以表示256个不同的数,
0~127:128个
-0~127:128个
但是这里0与-0表示一样的数了,所以就用-0的二进制补码表示到-128里面去了
|