2011-03-24 3 views
0

이동이 항상 동일하지 않은 경우, 즉 동일한 기능을 사용하여 2 또는 4 자의 크기를 조정해야하는 경우 바이트 배열 2 개 * 매개 변수의 값을 순환 시프트하는 좋은 방법은 무엇입니까? 이것은 내가 원형 두 번 PARAM에서 myArray의 값을 이동하고 배열 '결과'에 결과를 반환해야, 지금까지java에서 순환 배열 바이트 시프트를 구현하는 가장 좋은 방법은 무엇입니까?

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); 
       } 
      } 
     } 
    } 

이 합산있는 것입니다. 'param'매개 변수가 고정되어 있지 않을 때이를 수행하는 방법을 모르겠습니다.

+0

코드에 문제가 있습니다. "if (param == 0)"조건은 j가 결코 <0이 될 수 없기 때문에 충족 될 수 없습니다. – davmac

+0

젠장, 나는 param 대신 j를 의미했습니다. – eLobato

답변

0

첫 번째 : 가능한 경우 java.util.BitSet을 사용하십시오.

잘 모르겠지만 어떻게 든 BitSet 자체에는 변화가 없지만 this source은 구현 된 것처럼 보입니다.

+0

표준 바이트 [] 배열을 사용하는 것보다 Bitset이 더 좋은 이유는 무엇입니까? – eLobato

관련 문제