반응형

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#region Question 5.4 | |
/* | |
* 다음의 코드가 하는 일을 설명하라 | |
* ((n & (n-1)) == 0) | |
*/ | |
/* | |
* n의 Most Significant Bit (MSB)만 1이고, 나머지는 0인 수인지 확인한다. 즉, n이 2^k인 수인지 확인한다. | |
* n-1은 n의 비트에서 1만 제거한 수이므로 n의 비트와 유사한 형태를 가지게 된다. | |
* 이때, n과 n-1을 & 연산할 경우 모든 비트가 엇갈려야만 0이 될 수 있다. | |
* 그러므로 n-1이 n과 모든 비트가 엇갈리기 위해선 MSB만 1이고 나머지 자리는 0이 되어야 한다. | |
*/ | |
#endregion |
반응형
'Develop > 코딩인터뷰' 카테고리의 다른 글
[코딩인터뷰] 문제 5.6 (0) | 2020.04.02 |
---|---|
[코딩인터뷰] 문제 5.5 (0) | 2020.04.02 |
[코딩인터뷰] 문제 5.3 (0) | 2020.04.02 |
[코딩인터뷰] 문제 5.2 (0) | 2020.04.02 |
[코딩인터뷰] 문제 5.1 (0) | 2020.04.02 |
꾸준히 노력하는 개발자 "김예건" 입니다.