본문 바로가기

Develop/코딩인터뷰

[코딩인터뷰] 문제 5.4

반응형

코딩 인터뷰
문제 5.4

#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
view raw Code_Q5_4.cs hosted with ❤ by GitHub
반응형

'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