byte 类型是有符号的 8 位整型:
1111 1111表示-127,即$-(2^7-1)$- ...
1000 0001表示-11000 0000表示-128,即$-2^7$0000 0000表示00000 0001表示+1- ...
0111 1111表示+127,即$2^7-1$
按照符号位的逻辑,1表示负数,0表示正数,那么0000 0000应该表示+0,1000 0000应该表示-0。在我们的认知中,0没有正负,或者说+0和-0实际上是一个东西,然而在计算机看来,0000 0000和1000 0000是两个东西,这种不一致性会给计算带来很大的问题。所以一般在计算机中,我们用1000 0000来表示-128。注意这里的1000 0000实际上是一个有符号的整数,无符号的1000 0000表示的是+128。有符号的单字节整数不能表示大于等于128的整数。
评论区