【高速化】ビット演算 0x02
■ このスレッドは過去ログ倉庫に格納されています
0029デフォルトの名無しさん
2006/09/28(木) 07:42:57分割統治法が使えそうだ
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回 なので、少し速そう
■ このスレッドは過去ログ倉庫に格納されています