如何在长整形里面定位其每个字节,或者直接把一个8个字节的字节数组(byte[8])赋给长整形?急!!!!!

xiaozuidazhi 2003-10-16 11:29:01
我现在有一个字节数组,是二维数组,类似下面的例子:

byte b[][]=new byte[2][8];

因为工作需要,我必须将byte[0]和byte[1]变成两个长整形的数,因为这个本来就是一个长整形的数,是用字节流的形式通过服务器端传过来的,但是我找不到能实现这个功能的方法,只知道byte是可以赋给long的,但现在得一个字节一个字节得赋给long的每个字节,所以我想请问:

如何在长整形里面定位其每个字节,这样可以按照字节传送;或者直接把一个8个字节的字节数组(byte[8])赋给长整形。

请大家给想个办法,如果难度比较大,这些分您觉得少,那么我会再给的,这个不是问题!
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qlampskyface 2003-10-18
  • 打赏
  • 举报
回复
public static String ByteToLongStr(byte[] num, int index,int len ) {
long ret = 0;
String retS ="";
for (int i=index; i<index+len; i++){
int j=(i-index);
ret = ret+(num[i]>=0?num[i]:(256+num[i]))*(int)Math.pow(16,j*2);
}

retS= Long.toString(ret);
return retS;
}
honkyjiang 2003-10-16
  • 打赏
  • 举报
回复
byte[] bys = {0x08,0x12,0x23,0x11};
long len = 0;
for (int i = 0; i < 4; i++){
len += (long)((bys[i] << ((3-i) * 8)));
}
System.out.println(len);
可知 : len == 0x08122311
qlampskyface 2003-10-16
  • 打赏
  • 举报
回复
帮你up!
xiaozuidazhi 2003-10-16
  • 打赏
  • 举报
回复
难道CSDN里面没有高手吗?
xiaozuidazhi 2003-10-16
  • 打赏
  • 举报
回复
可是那样只能是四个字节啊,而且这四个字节的高位上都不能是a,b,c,d,e啊

这样不符合要求啊。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧