>>614
32bit なら 5回

下の関数みたいなのをマクロで作ればおk
int leftbit(unsigned long x)
{
int bit=0;

if(x&0xffff0000) bit+=16,x>>=16;
if(x&0xff00) bit+=8,x>>=8;
if(x&0xf0) bit+=4,x>>=4;
if(x&0xc) bit+=2,x>>=2;
if(x&0x2) bit+=1,x>>=1;

return bit;
}