【发布时间】:2018-08-08 04:01:03
【问题描述】:
我正在使用 cpp 实用程序中的 std::hash 来生成字符串的哈希值。我的要求是生成固定大小的 11 位哈希。散列函数不必很大就不会发生冲突。 我唯一的要求是生成 11 位数字的固定大小的散列。任何输入都会很棒,我也可以使用一些自定义哈希函数。
#include <iostream>
#include <string>
#include <functional>
#include <iomanip>
#include <unordered_set>
int main()
{
std::hash<std::string> hash_fn;
std::string s1 = "Stand back! I've got jimmies!";
size_t hash1 = hash_fn(s1);
std::cout << hash1 << '\n'; // OUTPUT: 3544599705012401047
s1 = "h";
hash1 = hash_fn(s1);
std::cout << hash1 << '\n'; // OUTPUT: 11539147918811572172
return 1;
}
【问题讨论】:
-
这里是指11个十进制位吗?
标签: c++ hash stdhash fixed-size-types