タグ

2015年1月5日のブックマーク (1件)

  • x86x64 SSE4.2 POPCNT

    2. ビットを数える例題ここにいるバイナリアンの数は何人か?机 1 0 0 1 = 0x0A (ビット2個)机 1 1 1 1 = 0x0F (ビット4個)机 1 1 1 0 = 0x0E (ビット3個)机 1 1 1 1 = 0x0F (ビット4個)机 1 1 1 1 = 0x0F (ビット4個)合計 17人 4. (1) popCount 8bit If1 byte あたり 8回条件分岐して bit を数える for (int i = 0; i < n; i++) { if (*x & 0x01) c++; if (*x & 0x02) c++; if (*x & 0x04) c++; if (*x & 0x08) c++; if (*x & 0x10) c++; if (*x & 0x20) c++; if (*x & 0x40) c++; if (*x & 0x80) c++; x

    x86x64 SSE4.2 POPCNT
    ayokura
    ayokura 2015/01/05
    @erictkb なるほど。 読んだけどSSE4.2はええ…(このPC対応してるからこれでがんばる)