【関数化】ビット演算 0x03
■ このスレッドは過去ログ倉庫に格納されています
0002デフォルトの名無しさん
2008/11/08(土) 21:17:08bitの逆転ってどんなコード組んだら一番速い?
int rev(int n){n=(n<<16)|(n>>16);
n=((n&0x00ff00ff)<<8)|((n&0xff00ff00)>>8);
n=((n&0x0f0f0f0f)<<4)|((n&0xf0f0f0f0)>>4);
n=((n&0x33333333)<<2)|((n&0xcccccccc)>>2);
return((n&0x55555555)<<1)|((n&0xaaaaaaaa)>>1);}
より速いのがありそうな気がしてならない
■ このスレッドは過去ログ倉庫に格納されています