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

代码有什么问题?

package com.imooc;


public class Convert {

public static byte[] int2Bytes(int id){

byte[] arr=new byte[4];

for(int i=0;i<arr.length;i++){

arr[i]=(byte)((int)(id>>0*8) & 0xff);

}

return arr;

}

public static int bytes2Int(byte[] arr){

int result=0;

for(int i=0;i<arr.length;i++){

result += (int)((arr[i] & 0xff)<<i*8);

}

return result;

}

public static void main(String[] args) {

byte[] arr=Convert.int2Bytes(8143);

System.out.println(arr[0]+","+arr[1]+","+arr[2]+","+arr[3]);

System.out.println(Convert.bytes2Int(arr));

}

}


正在回答

1 回答

arr[i]=(byte)((int)(id>>0*8) & 0xff);

这个应该把0*8改为i*8

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

346746946 提问者

非常感谢!
2015-10-04 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

代码有什么问题?

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