我想请问一下,a是怎么等于42的。

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

b是int型 32位 转换为对应二进制是 0000 0000 0000 0000 0000 0001 0010 1010
因为byte为1字节8位,所以强制转换时计算机只保留其后8位,即为 0010 1010
二进制转换为 十进制就是 42

byte值范围-128 ~ 127,不懂的话可以百度下。

298-128-128=42

298超出byte范围,从头计算 ,298>127 298>254 数了两圈,还须 需42;