日期:2014-05-17  浏览次数:20728 次

小算法
有个byte数组:一共是32个元素,例如:31323334350000000000000000000000
哪位兄弟帮忙写个函数,转换成整形数组:
0x31 0x32 0x33 0x34 0x35 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00,这样结果一共是16个字节。。

快速结贴!



------解决方案--------------------
直接循环切不久得了。。有些时候最省力的解决方法就是最好的算法!
------解决方案--------------------
Java code
        byte[] b = {3,1,3,2,3,3,3,4,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
        int[] arr = new int[16];
        for(int i = 0; i < 16; i++) {
            arr[i] = b[2 * i] * 16 + b [2 * i + 1];
        }

------解决方案--------------------
byte[] arr = {......};
int[] int_ary = new int[16];
int j = 0;
for(int i = 0 ; i < arr.length ; i+=2){
 int_ary[j] = arr[i]*16+arr[i+1];
 j++;
}