這由編碼方法決定。在Java中,正數用源代碼表示,負數用補碼表示,第壹位是符號位。
因此,對於128和-129,它們的代碼是:
0000 0000 0000 0000 0000 0000 1000 0000
1111 1111 1111 1111 1111 65438+ 0111 0111 1111。
對於A,1000 0000是壹個負數(第壹位是1),其絕對值是1000 0000,即128。
對於B,01111111是壹個正數,值為127。
————————————————————————————————————
0 00000000
1 00000001
...........
127 01111111
-
*** 128
-1 11111111
-2 11111110
...........
-128 10000000
-
*** 128
我們都知道byte占八個位置。而2的八次方等於256,也就是說byte最多可以代表256個不同的數。
0 ~ 127: 128
-0 ~ 127: 128
但是在這裏,0和-0表示同壹個數,所以我們用-0的二進制補碼來表示它在-128。