
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ビット演算の高速化(ビットマップのループ・ビットカウント・ビットリバース) - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ビット演算の高速化(ビットマップのループ・ビットカウント・ビットリバース) - Qiita
x = 0b00101110101000001110010111001011; x = (x & 0x55555555) + ((x >>> 1) & 0x55555555) x = (x & ... x = 0b00101110101000001110010111001011; x = (x & 0x55555555) + ((x >>> 1) & 0x55555555) x = (x & 0x33333333) + ((x >>> 2) & 0x33333333) x = (x & 0x0F0F0F0F) + ((x >>> 4) & 0x0F0F0F0F) x = (x & 0x00FF00FF) + ((x >>> 8) & 0x00FF00FF) x = (x & 0x0000FFFF) + ((x >>> 16) & 0x0000FFFF) やっていることは、部分和をx自身に書き込んでいく分割統治。 手順 代入1回目 データを2ビットずつに区切り、2ビットごとの1の数を求めてxを上書きする。 00 10 11 10 10 10 00 00 11 10 01 01 11 00