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的整数。
评论区