日期:2014-05-20  浏览次数:20646 次

JAVA一个小程序 帮帮我这个菜鸟啊!!!
byte a=120;
short b=130;
a=(byte)b;
这是怎么装换的为什么a=-126?
详细点好不?

------解决方案--------------------
你知道byte的取值范围么?如果知道的话,再去了解下补码的知识,就应该不难理解了。
------解决方案--------------------
short -128 -- 127 

130 应该是会去取补码 然后什么的
------解决方案--------------------
byte类型: -128到127 ,
127+1=-128,
b=30可以看成 (127+1)+2 127+1=-128(补码运算)
-128+2=-126
------解决方案--------------------
楼上的b=30 该换成b=130吧.
------解决方案--------------------
(3楼+4楼)+1!
------解决方案--------------------
(3楼+4楼)+1!
------解决方案--------------------
补码运算