Java byte数组按位转化为long类型
2017-11-03 16:53
501 查看
本方法适用于(高位在前,低位在后)的顺序
输出:6918358899
本方法适用于(高位在前,低位在后)的顺序
输出:6918358899
public static void main(String[] args) { byte[] l = new byte[]{(byte) 0xe7, (byte) 0xf3, (byte) 0x90, (byte) 0x54, (byte) 0x39, (byte) 0x6e, (byte) 0x11, (byte) 0x7c, (byte) 0x01, (byte) 0xe7, (byte) 0x70, (byte) 0x3c, (byte) 0x79, (byte) 0x14, (byte) 0xb5, (byte) 0x67}; System.out.println(getLong(l,4)); } /** * @param data 数组 * @param num 多少个byte相组合成一个数字 * */ public static long getLong(byte[] data, int num) { long count = 0; for (int i = 0; i < data.length / num; i++) { int offset = i * num; long val = 0; for (int j = 0; j < num; j++) { long _val = ((long)(data[offset + num - j - 1] & 0xFF) << j * 8); if (val == 0) { val = _val; } else { val = val | _val; } } count = count + val; } return count; }
输出:6918358899
本方法适用于(高位在前,低位在后)的顺序
4000 public static void main(String[] args) { byte[] l = new byte[]{(byte) 0xe7, (byte) 0xf3, (byte) 0x90, (byte) 0x54, (byte) 0x39, (byte) 0x6e, (byte) 0x11, (byte) 0x7c, (byte) 0x01, (byte) 0xe7, (byte) 0x70, (byte) 0x3c, (byte) 0x79, (byte) 0x14, (byte) 0xb5, (byte) 0x67}; System.out.println(getLong(l,4)); } /** * @param data 数组 * @param num 多少个byte相组合成一个数字 * */ public static long getLong(byte[] data, int num) { long count = 0; for (int i = 0; i < data.length / num; i++) { int offset = i * num; long val = 0; for (int j = 0; j < num; j++) { long _val = ((long)(data[offset + j] & 0xFF) << j * 8); if (val == 0) { val = _val; } else { val = val | _val; } } count = count + val; } return count; }
输出:6918358899
相关文章推荐
- JAVA的数组 && 原始类型和引用类型以及String与int long相互转化 && String与byte[]相互转化
- Java中byte数组与long数组相互转化
- int、long、float类型的数组转化成byte类型的数组
- java对byte,short,char,int,long运算时自动类型转化情况说明
- Java之——基本数据类型与byte数组相互转化
- Java中byte数组与long数组相互转化
- java对byte,short,char,int,long运算时自动类型转化情况说明
- java把byte类型数组转化成对象的步骤。
- Java 对byte,short,char,int,long 运算时自动类型转化情况说明
- Java之——基本数据类型与byte数组相互转化
- 关于java各种类型转化为无符号和类型转化为byte数组的方法
- 各数据类型转换byte数组(方便java和c++的网络通信)
- Java 基本数据类型与byte数组互转
- Java基本类型与byte数组之间相互转换方法
- java中byte数组与int类型之间的相互转换(两种方式)
- C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
- Java中字符串数组转long[]类型数组的方法
- java中byte数组与int类型的转换(两种方式)
- java中byte数组与int类型的转换(两种方式
- Java基本类型与byte数组之间相互转换