首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >范围内的C++散列函数

范围内的C++散列函数
EN

Stack Overflow用户
提问于 2021-12-23 18:21:46
回答 1查看 258关注 0票数 0

给定32位整数A,我想在1-1023范围内为它生成唯一的整数B。应该始终为相同的A值生成相同的B值,但每个B值必须是唯一的。

我正在使用C++,到目前为止我已经使用了:

代码语言:javascript
运行
复制
std::hash<std::uint32_t> hasher;
uint32_t num_B = hasher(num_A) % 1023;

但我相信这将在0-1023范围内生成num_B,但是如何将范围更改为1-1023?我可以添加1并更新最大值,但是有更好的方法吗?

EN

Stack Overflow用户

发布于 2021-12-23 18:31:45

我不确定,但请测试以下代码:

代码语言:javascript
运行
复制
std::hash<std::uint32_t> hasher;
uint32_t num_B = 1+ hasher(num_A) % 1022;
票数 -2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70466034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档