티스토리 뷰

Programming tips/algorithm

bit count

bramach 2018. 3. 31. 22:27

#+begin_src c
static inline uint32_t bitcnt(uint32_t v)
{
    uint32_t n;
    for(n=0; v!=0; v&=v-1, n++)
    ;
    return (n);
}

#+end_src 

 

v&=v-1, n++ 가 핵심인데
 2진수를 v&=v-1 하면, 제일 끝의 1부터 하나씩 사라지는 걸 볼 수 있다.


'Programming tips > algorithm' 카테고리의 다른 글

google jump consistent hash / Maglev hash  (1) 2018.03.31
fast modulo op to get hash bucket  (0) 2018.03.31
cuckoo-hash : 검색시간이 O(1)  (0) 2018.03.31
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함