c/c++でbit length計算
int bitlen(int n)
{
int count=0;
if(n>0xffff)
{
count+=16;
n>>=16;
}
if(n>0xff)
{
count+=8;
n>>=8;
}
if(n>0xf)
{
count+=4;
n>>=4;
}
if(n>0x7)
{
count+=2;
n>>=2;
}
if(n>0x3)
{
count+=1;
n>>=1;
}
if(n>0x1)
{
count+=1;
n>>=1;
}
return count+n;
}