Problem Solving
2진수 최 우측 1의 자리 찾아내기
enumclass
2021. 5. 2. 16:56
어떤 Integer가 주어졌을 경우
해당 Integer의 가장 우측에 존재하는 1의 위치를 찾고자 한다면 다음과 같이 하면 된다.
N & -N
6을 예로 들어보겠다.
6의 2진수는
0000 0110
이 된다.
해당 값을 음수로 변환하면
(보수 처리 하고 마지막 1을 더하면 음수이다.)
1111 1010
이 된다.
And 처리를 하면
0000 0010
이 되고 가장 우측 위치 값은 2가 된다.
728x90
반응형