C#을 사용하여 이진수의 선행 0 카운팅 | Andrew Lock

이번 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 알고리즘을 사용할 수 있는데요, 같이 한번 보시죠.


2개의 좋아요