帮看下这个Hash()什么意思

mabo321 2009-08-13 12:09:37

DWORD Hash(LPCTSTR pszString)
{
DWORD dwHash=0L;
CString strString=pszString;
strString.MakeLower();
int nLen=strString.GetLength();
for (int i=0;i<nLen;i++)
{
dwHash^=strString[i];
dwHash<<=1;
}
return dwHash;
}
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
反正就是hash,把字符串作相应的运算,映射出一个数值。

仅此而已,至于是什么算法,那随便,算法N多。
liao05050075 2009-08-13
  • 打赏
  • 举报
回复
字符串hash,
它从一个字符串计算得到一个整数值,计算方法是先异或一个字符,再左移一位。
所得到的hash值可以用来快速查找字符串。

至于为什么它要这么计算这个hash值,就不清楚了。
因为字符串的Hash函数有很多,计算的方法也各有不同。
xingzhe2001 2009-08-13
  • 打赏
  • 举报
回复
把字符串的字符通过异或和移位算出一个32位整数作为hash值
niulin 2009-08-13
  • 打赏
  • 举报
回复
它从一个字符串计算得到一个整数值,计算方法是先异或一个字符,再左移一位。
这是一个哈希函数(hash):用于将一个字符串映射一个整数, 可以快速查找。
如:
int a[1000];
a[hash("hello")]=999;
说的不是很清楚,请lz自己查阅数据结构中哈希查找算法的章节

64,663

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧