C++ でハミング重みを求める その2

前回は自分でコードを書いて求めたのですが、そもそも <bitset> 使えば簡単に求めることが出来ます。

#include <bitset>
#include <iostream>

int
main(){
    std::cout << std::bitset<32>(100).count() << std::endl;
    std::cout << std::bitset<32>(9859712).count() << std::endl;
    std::cout << std::bitset<32>(0b10111110).count() << std::endl;
    return 0;
}
/*
output:
3
9
6
*/

C++ 的にはこれが一番楽そう