首页 热点专区 义务教育 高等教育 出国留学 考研考公

int a=255;(int)(byte)a=?

发布网友

我来回答

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com