int a=255;(int)(byte)a=?
答案:2 悬赏:20 手机版
解决时间 2021-12-22 02:52
- 提问者网友:温旧梦泪无声
- 2021-12-21 20:09
怎么算?能解析一下吗?
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-12-21 21:05
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
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
全部回答
- 1楼网友:十年萤火照君眠
- 2021-12-21 22:11
补位
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯