이번 Andrew Lock의 글은 알고리즘에 대한 글입니다.
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0110 0000 0100 1001
^- 이 전까지의 0의 개수를 세는 것이죠 ^^
.NET Core 3.0부터는 BitOperations.LeadingZeroCount()
를 이용하여 고속으로 수행할 수 있다고 합니다.
하지만 하위 호환성을 위해 직접 0을 세거나 smear and count
알고리즘을 사용할 수 있는데요, 같이 한번 보시죠.