题目分析: byte b = 200, 其中 byte 为字节类型, 其值的范围:-128~127
200 超出一个字节, 所以 200 为 int 类型, 占 4 个字节
解题思路:
求出 200(int) 的二进制数据,
截取一个字节长度
用截取的补码算出一个字节的原码
解题:
用 8421 码 https://blog.51cto.com/blogger/success/2461862 求出 200 的二进制
200 = 128+64+8
所以 200 的二进制为 :
00000000 00000000 00000000 11001000
截取一个字节为: 11001000 (补码)
补码 -> 反码 (符号位不变, 末位减 1):11000111
原码 (符号位不变, 其余取反):10111000
结果为:-(8+16+32)=-56
来源: http://www.bubuko.com/infodetail-3350002.html