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

不懂byte 和int 的转换为什么要用这种方式

public static int bytesToInt(byte[] arr){ int retu=0; for(int i=0;i<arr.length;i++){ int rs=(int)((arr[i]&0xff)<<i*8);//不懂byte 和int 的转换为什么要用这种方式 retu+=rs; } return retu; }

正在回答

3 回答

反过来运算。

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

因为int型转为byte时是进行右移的,现在反过来变换,需要左移。没什么不妥啊

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

从串口等读取到的数据,一般为8位Byte格式,对于16位或者更高位的数据,常用的传输方式为分高低位分次传输,这就需要在接收到数据后,要将Byte[]数组转换为原来的数据。

推荐看下这个博文:http://blog.163.com/china_wangzhen@126/blog/static/341168242010112915815139/

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

举报

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

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

进入课程

不懂byte 和int 的转换为什么要用这种方式

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