麻烦详细解释一下下面的问题(前提是我知道超出了表示范围)
byte a=(byte)128;
byte b=(byte)(-129);
为什么a和b的值分别是-128,127
还有,,,,,short b=130;a=(byte)b;a的值为什么是-126
[解决办法]
byte:8位,有符号位,范围为-128~127
int 128 = 00000000 00000000 00000000 10000000
最低8位为10000000,即byte -128
int -129(补码) = 11111111 11111111 11111111 01111111
最低8位为01111111,即byte +127
short 130 同理