Каков наилучший способ для реализации байтового сдвига кругового массива в Java? - PullRequest
0 голосов
/ 24 марта 2011

Если смещение не всегда одно и то же, то есть мне может понадобиться использовать одну и ту же функцию для изменения размера 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 два раза в параметре и вернуть результат в массиве "result" Я не понимаю, как это сделать, если параметр 'param' не зафиксирован.

1 Ответ

0 голосов
/ 24 марта 2011

Первое: если возможно, используйте java.util.BitSet для подобных задач.

Я не уверен, но как-то сам BitSet не имеет сдвига, но этот источник выглядитреализовал это.

...