id:echizen_tmさんの記事がわかりやすかったので作って(というかコピペして)みました.簡潔データ構造超入門 〜つくって学ぶ簡潔ビットベクトル〜 - EchizenBlog-Zwei PopCountの計算方法については,先日サイボウズ・ラボで行われたx86最適化勉強会で@takesakoさんが発表した資料がおすすめです.SSE4.2はええーx86x64 SSE4.2 POPCNT succinct_bit_vector.h unsigned long long PopCount64(unsigned long long x) { x = ((x & 0xaaaaaaaaaaaaaaaaULL) >> 1) + (x & 0x5555555555555555ULL); x = ((x & 0xccccccccccccccccULL) >> 2) + (x & 0x33333333