byte类型是1字节,取值范围是-128~127。在计算机中,存储和计算都是用补码进行。
127的原码是0111 1111,那么-127的原码是1111 1111,补码是1000 0001
-128 = -127+(-1)
-1的补码是1111 1111
-127 1000 0001
-1 +1111 1111
-128 1 1000 0000
byte只有8位,去除最高位后,-128的补码就是1000 0000
也就是-0,计算机就是使用-0存储类型的最小值
同理,short.int.long类型的最小值也是用-0存储
|
|