//bits值越小用的hashtable的空间越小
unsigned long hash_long(unsigned long val,unsigned int bits)
{
unsigned long hash = val * 0x9e370001UL;
return hash >> (32 - bits);
}
int main(void)
{
int i,j = 8192;
printf("%d\n",j);
for(i = 0;i <=32767;i++){
if(hash_long(i,13) == j)
printf("pid--->index:%d--->%d\n",i,hash_long(i,13));
}
}
http://blog.chinaunix.net/uid-29141031-id-5090893.html