ystaeyoon113   3년 전

6580번 문제를 풀던 중 계속 오류가 나서 코드를 수정하다 보니 마침내 오류 부분을 찾게 되었습니다

그러나 그곳이 왜 오류인지는 아직도 이해하지 못하겠습니다.

두 코드의 내용은 아예 같다고 생각하는데, 하나는 정답처리가 되고 하나는 오답처리가 됩니다.

문제가 생긴 부분은 0x9e,0x6f, 등의 16진수로 주어진 숫자를 이진수로 변환하는 과정에서,

9e -> 이진수로는 10011110 -> 주어진 문제는 이진수를 왼쪽부터 쓰므로 01111001

이렇게 변환이 필요합니다.

따라서 비트 연산자를 통해 연산을 처리하는데, 9e를 한번에 8비트 연산을 통해 변환하면 오답이고,

e 변환, 9 변환을 따로 하면 정답처리가 됩니다.

두 연산은 같은 연산이라고 생각하는데, 논리적인 오류가 있나요?

댓글을 작성하려면 로그인해야 합니다.