首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

麻烦详细解释一下下面的有关问题(前提是小弟我知道超出了表示范围)

2014-01-05 
麻烦详细解释一下下面的问题(前提是我知道超出了表示范围)byte a(byte)128byte b(byte)(-129)为什么a

麻烦详细解释一下下面的问题(前提是我知道超出了表示范围)
byte a=(byte)128;
byte b=(byte)(-129);
为什么a和b的值分别是-128,127 
还有,,,,,short b=130;a=(byte)b;a的值为什么是-126

[解决办法]
byte:8位,有符号位,范围为-128~127
int 128 = 00000000 00000000 00000000 10000000
最低8位为10000000,即byte -128

int -129(补码) = 11111111 11111111 11111111 01111111
最低8位为01111111,即byte +127

short 130 同理

热点排行