2016-07-08 2 views
-1

나는이 2 바이트를 부여 인터뷰에서 묻는 질문, 그들이검사의 경우 2 바이트 대칭

public boolean isSym(Byte firstByte, Byte secondByte); 

01101000 및 00010110가 그러나 01100000 및 11000000가 아닌, 대칭 대칭 경우에 true를 돌려 들었 . 은 Java로 코드를 작성해야합니다. 아이디어를 얻는 가장 좋은 방법은 무엇입니까?

+0

잘못된 태그, 자바 스크립트를 사용했습니다. 자바는 – aximus

+0

@aximus가 이미 수정되어 있어야합니다. –

+0

비트 시퀀스를 뒤집는 방법은 다양합니다. https://graphics.stanford.edu/~seander/bithacks.html#BitReverseObvious – khelwood

답변

2
public boolean isSym(Byte firstByte, Byte secondByte) 
{ 

    for (int i = 0; i< 8 ; i++){ 
     if (bitAt(firstByte, i) != bitAt(secondByte, 7 - i)) 
      return false; 
    } 

    return true; 
} 

public byte bitAt(byte num, int position) 
{ 
    return (byte)((num >> position) & (byte)1); 
}