题目
以下 b 的值是: byte b = (byte)129;
()
A. -126
B. -127
C. -128
D. -129
答案
B
解析
byte型占1个字节,8位;
int型占4个字节,32位。
int型 129 在二进制中为:00000000 00000000 00000000 10000001
强制转换为byte型后,仅剩1个字节,即:10000001
由于二进制中第一位是符号位,10000001被认为是负数,下面求负数的补码:
1111 1110
故反码为
1111 1111
转换为int型为-127