为了账号安全,请及时绑定邮箱和手机立即绑定

从字节数组转化为int类型的问题

从int转化为字节数组:如8143,转化成字节数组内元素,变成了-49,31,0,0

那后面他从字节数组转成int类型:rs0+rs1+rs2+rs3不就应该是-49+31+0+0=-17吗?为什么显示的是8143呢?

正在回答

1 回答

转成int类型后rs0可不是-49哦,而是11001111,相应的四个字节32位的二进制数就等于8143了!

0 回复 有任何疑惑可以回复我~
#1

charsandrew 提问者

非常感谢 又把视频反复看了几遍,弄明白了: 首先8143通过右移位操作,将8143转化成了4个8位字节码的形式存储在数组中,如果此时将这4个8位字节码转化成int,分别是-49,31,0,0.但是后面他在将数组内字节码转换成int时,进行了左移位操作,移位后,如果此时将这4个字节码转化成int,-49还是-49,第二个已不是31(左移了8位)。后面的加法也是可以的,因为移位后它们4个的非0区间是错开的。 这里真的感觉很繁琐,我肯定没表达清楚。还是多谢了!
2016-07-15 回复 有任何疑惑可以回复我~
#2

charsandrew 提问者

非常感谢!
2016-07-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
二进制基础
  • 参与学习       99871    人
  • 解答问题       210    个

二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识

进入课程

从字节数组转化为int类型的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信