在java中实现循环数组字节移位的最佳方法是什么?

时间:2011-03-24 02:51:46

标签: java bytearray bit-shift

如果移位并不总是相同的,即我可能必须使用相同的函数来调整2或4个字符的大小,那么循环移位字节数组2个位置*参数的好方法是什么?这就是我到目前为止所拥有的

for(int j=0; j<param; j++){
        if(j == 0){
            for(int i=0; i<myArray.length;i++){
                result[i] = (byte) (myArray[i]<<2); 
            }
        } else{
            for(int i=0; i<result.length;i++){
                if((result.length-i) > 2){
                    result[i] = (byte) (result[i]<<2);
                }
            }   
        }
    }

总结一下,我必须将myArray的值循环移位两次param并将结果返回到数组'result'中。当参数'param'没有修复时,我不知道如何做到这一点。

1 个答案:

答案 0 :(得分:0)

首先:如果可能,请使用java.util.BitSet执行类似的任务。

我不确定,但不知何故,BitSet本身没有移位,但this source看起来已经实现了它。