黑马程序员技术交流社区
标题:
类型转换的一个小问题
[打印本页]
作者:
刘小峰
时间:
2012-1-3 01:03
标题:
类型转换的一个小问题
本帖最后由 流氓l老醯 于 2012-1-4 06:58 编辑
怎样将一个int转换成一个四字节的byte数组??
作者:
魏志雷
时间:
2012-1-3 01:10
int myInt;
byte[] bytes = new byte[4];
bytes [0]=(byte)( (myInt > > > 24 ) && 0xff);
bytes [1]=(byte)( (myInt > > > 16 ) && 0xff);
bytes [2]=(byte)( (myInt > > > 8 ) && 0xff);
bytes [3]=(byte)( (myInt > > > 0 ) && 0xff);
复制代码
作者:
王冀0127
时间:
2012-1-3 13:45
int i =你要输入的值;
byte[] result = new byte[4];
result[0] = (byte)(i & 0xFF);
result[2] = (byte)((i >> 8) & 0xFF);
result[3] = (byte)((i >> 16) & 0xFF);
result[4] = (byte)((i >> 24) & 0xFF);
复制代码
作者:
詹英鹏
时间:
2012-1-3 14:45
方法有好多,这里有三种
1,是直接进行 & 操作
int x=123;
byte[] bitstr=new byte[4];
bitstr[0]=(byte)(x&ff000000);
bitstr[1]=(byte)(x&00ff0000);
bitstr[2]=(byte)(x&0000ff00);
bitstr[3]=(byte)(x&000000ff);
第二种就是位移操作
byte byteArray[] = new byteArray[4];
byteArray[0] = myint;
byteArray[1] = myint> > 1;
byteArray[2] = myint> > 2;
byteArray[3] = myint> > 3;
第三种就是两者的结合
byte[] bytes = new byte[4];
bytes [0]=(byte)( (myInt > > > 24 ) 0xff);
bytes [1]=(byte)( (myInt > > > 16 ) 0xff);
bytes [2]=(byte)( (myInt > > > 8 ) 0xff);
bytes [3]=(byte)( (myInt > > > 0 ) 0xff);
你看看这三种你更喜欢那种就是了
作者:
刘小峰
时间:
2012-1-4 06:56
多谢各位指点{:soso_e183:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2