哈哈,不好意思,神仙帮忙看下这段HASH函数代码是什么意思?如果改成PHP行吗?可不可以给我发邮件说,我的邮箱是trooman@21cn.com
unsigned int hash_func(char *str, int len)
{
register unsigned int sum = 0;
register unsigned int h = 0;
register unsigned short *p = (unsigned short *)str;
register unsigned short *s = (unsigned short *)str;
while(p – s < len)
{
register unsigned short a = *(p++) * (p-s);
sum += sum ^ a;
h += a;
}
return ((sum << 16) | h) % MAX_PRIME_LESS_THAN_HASH_LEN;
}
useful.
谢谢!帮忙解决了大问题!
不错,记下了。
哈哈,不好意思,神仙帮忙看下这段HASH函数代码是什么意思?如果改成PHP行吗?可不可以给我发邮件说,我的邮箱是trooman@21cn.com
unsigned int hash_func(char *str, int len)
{
register unsigned int sum = 0;
register unsigned int h = 0;
register unsigned short *p = (unsigned short *)str;
register unsigned short *s = (unsigned short *)str;
while(p – s < len) { register unsigned short a = *(p++) * (p-s); sum += sum ^ a; h += a; } return ((sum << 16) | h) % MAX_PRIME_LESS_THAN_HASH_LEN; }