我提供给你一个思路
long是64位的,byte是8位的
long a=12345;
byte[] b=new byte[8];
b[0]=a&0xf;
b[1]=a>>8&0xf;
b[2]=a>>16&0xf;
b[3]=a>>24&0xf;
....
b[7]=a>>56&0xf;
long是64位的,byte是8位的
long a=12345;
byte[] b=new byte[8];
b[0]=a&0xf;
b[1]=a>>8&0xf;
b[2]=a>>16&0xf;
b[3]=a>>24&0xf;
....
b[7]=a>>56&0xf;
解决方案 »
- swing项目图片地址问题,在线等~
- equals()在基本类型的包装类中的问题?????????
- 怎样改变JTable中表的行列值大小
- 这个程序里面的RandomAccessFile readWrite=new RandomAccessFile("rand.dat","rw");为什么必须写在try里面
- JSP页面动态验证码的问题
- 一個小數點四舍五入後,如結果1.1,我怎樣改成1.10,在結果後面加一位0?
- 高手来一下,,,帮帮忙!
- 请教listener在java程序中起着什么样的作用该怎么理解listener
- 如何根据一个url得到其下url???
- 为什么我的可用分少了一千多?
- 初学者入门完全手册,提问之前看看可以节约大量的积分
- 发牌问题,帮帮忙!-------------结帖很快哟!
b[1]=a>>8&0xff;
b[2]=a>>16&0xff;
b[3]=a>>24&0xff;
....
b[7]=a>>56&0xff;
b[1]=(byte)a>>8&0xff;
b[2]=a>>(byte)16&0xff;
b[3]=a>>(byte)24&0xff;
....
b[7]=(byte)a>>56&0xff;
http://blog.csdn.net/treeroot/archive/2004/11/17/184529.aspx
1、先转换成String类型,通过最简单的方式如
str=""+val ;//val为任意类型数据,包括long,int,float
2、String就怎么操作都行了
....
3、再转成所需数据。
//低位在前
static int bytes2int(byte[] b)
{
int mask=0xff;
int temp=0;
int res=0;
for(int i=0;i<4;i++){
res<<=8;
temp=b[3-i]&mask;
res|=temp;
}
return res;
} static byte[] int2bytes(int num)
{
byte[] b=new byte[4];
for(int i=0;i<4;i++){
b[i]=(byte)(num>>>(i*8));
}
return b;
}
莫要取消寡人
61816 1375793528
如此结果
没有问题呀,我看你的测试代码
byte是8位的,batfree的担心是多余的