| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1681 人关注过本帖
标题:字符串转哈希值的问题
只看楼主 加入收藏
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
结帖率:58.18%
收藏
已结贴  问题点数:40 回复次数:1 
字符串转哈希值的问题
人名:四个字符组成,前三个是字符,第四个是数字。
将它转化为整数
name[4]:保存字串
为什么可以用下面的方法计算,不会出现重复的吗。
学生的名字前三位是大写英文字母,第4位是数字,也就是说最多有26*26*26*10个学生,每个学生的名字都可以用一个数字表示。
name[0]-'A')*26*26*10+(name[1]-'A')*26*10+(name[2]-'A')*10+name[3]-'0'
搜索更多相关主题的帖子: 炸弹爆炸 字符串 
2017-02-13 23:28
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:40 
我觉得:这就是26进制转10进制,当然不会重复,其实乘以10都没必要,想想16进制怎么转十进制就明白了。
举一个浅显的例子:假如对全班同学的语文数学成绩进行排序(分值100),通常排序方法会是先比较语文,如果语文成绩相等再比较数学,其实还有一个一次性的比较方法,我觉得你能很轻松地想到:语文*1000+数学,把语文数学成绩合并到一个6位数的整数里,这样就不会因计算产生交叉重复了。

[此贴子已经被作者于2017-2-16 10:14编辑过]

2017-02-16 09:27
快速回复:字符串转哈希值的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017435 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved