FE/JavaScript

[JavaScript] 정수의 set bit 개수를 세는 방법 - popcount 구현

ycs1m1yk 2022. 8. 10. 00:21

단순한 방법: 모든 bit를 체크

  • n & 1로 right-most bit를 체크하고, n >> 1 로 한 칸씩 오른쪽으로 민다.
  • 음수에는 사용할 수 없다.


Brian Kernighan 알고리즘

  • n & n -1 로 right-most set bit를 체크한다.
  • set bit의 개수만큼만 loop를 수행한다.
  • 음수에도 사용할 수 있다.


참고