【高速化】ビット演算 0x02at TECH
【高速化】ビット演算 0x02 - 暇つぶし2ch29:デフォルトの名無しさん
06/09/28 07:42:57
1マスが2ビット(黒:01, 白:10, 空:00)で、8マス分の情報が下位16ビットに並んでいれば
分割統治法が使えそうだ

t = x & 0xcccc; x = (x & 0x3333) + (t >>= 1); x += t >>2;
t = x & 0xf0f0; x = (x & 0x0f0f) + (t >>= 3); x += t >> 4;
t = x & 0xff00; x = (x & 0x00ff) + (t >>= 7); x += t >> 8;

論理演算 6回、シフト 6回、加算 6回

3倍して足していく方法は、乗算 7回、加算7回 なので、少し速そう


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch