字符串 Hash算法(ELFHash):
unsigned int ELFHash( char * str)
{
unsigned int hash = 0 ;
unsigned int x = 0 ;
while ( * str)
{
hash = (hash < < 4 ) + ( * str ++ );
if ((x = hash & 0xF0000000L ) != 0 )
{
hash ^= (x >> 24 );
hash &= ~ x;
}
}
return (hash & 0x7FFFFFFF );
}
判断二进制数 1的个数
int findone3(unsigned int n)
{
int count = 0;
while(n > 0)
{
n &= (n -1);
count++;
}
return count;
}
后面找到了 再跟...