给定32位整数A,我想在1-1023范围内为它生成唯一的整数B。应该始终为相同的A值生成相同的B值,但每个B值必须是唯一的。
我正在使用C++,到目前为止我已经使用了:
std::hash<std::uint32_t> hasher;
uint32_t num_B = hasher(num_A) % 1023;但我相信这将在0-1023范围内生成num_B,但是如何将范围更改为1-1023?我可以添加1并更新最大值,但是有更好的方法吗?
发布于 2021-12-23 18:31:45
我不确定,但请测试以下代码:
std::hash<std::uint32_t> hasher;
uint32_t num_B = 1+ hasher(num_A) % 1022;https://stackoverflow.com/questions/70466034
复制相似问题