当前位置: 代码迷 >> Java相关 >> JAVA一个小程序 帮帮小弟我这个初学者啊
  详细解决方案

JAVA一个小程序 帮帮小弟我这个初学者啊

热度:9308   发布时间:2013-02-25 21:47:34.0
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!
------解决方案--------------------------------------------------------
补码运算