发布网友
共1个回答
热心网友
int型是32位
byte型是8位的
int a=255;
a的存储是这样的:00000000 00000000 00000000 11111111
转化成小范围的是强制截去前面多余的,
就是 (byte)a的存储是这样的:11111111
对应的值就是-1
转化成大范围是前面补0和1,是根据被转化的最高位也就是这里的1
那么(int)(byte)a的存储是这样的:11111111 11111111 11111111 11111111
也就是-1