Hash 理解成对独立散列实现

Hash 理解成对独立散列实现,hash,pairwise,Hash,Pairwise,我想使用两两独立的散列来实现一个算法 根据上面的回答,似乎计算(a*x+b)%p%m就足以将整数x(小于p)映射到{0,1,…,m-1} 然后我看到了以下内容:。这似乎实现了p=2^31-1的上述算法 有人能帮我弄明白吗 似乎通过执行&MOD,代码实际上是在计算(模2^31),而不是(模2^31-1)? 第113行(见屏幕截图)实际上是做什么的?为什么要改变结果并再次添加 我担心你不会得到任何答案,除非你把截图中的代码作为代码块整合到你的问题文本中。此外,您还应该将链接添加到您正在谈论的开源文件

我想使用两两独立的散列来实现一个算法

根据上面的回答,似乎计算
(a*x+b)%p%m
就足以将整数
x
(小于
p
)映射到{0,1,…,m-1}

然后我看到了以下内容:。这似乎实现了p=2^31-1的上述算法

有人能帮我弄明白吗

似乎通过执行
&MOD
,代码实际上是在计算(模2^31),而不是(模2^31-1)?
第113行(见屏幕截图)实际上是做什么的?为什么要改变结果并再次添加

我担心你不会得到任何答案,除非你把截图中的代码作为代码块整合到你的问题文本中。此外,您还应该将链接添加到您正在谈论的开源文件中,以使您的源代码透明。您需要以其他方式使“第113行”的引用变得明显。那么你的问题至少会更容易理解和理解。现在由于图像的原因,它缺少大量的信息。大多数用户(如果不是所有用户的话)在阅读问题时不遵循任何链接,而是直接跳到下一个。谢谢您的反馈,@Antares。我按照你的建议编辑了这个问题。顺便说一句:C中没有定义签名溢出。除非你将截图中的代码作为代码块集成到问题文本中,否则恐怕你不会得到任何答案。此外,您还应该将链接添加到您正在谈论的开源文件中,以使您的源代码透明。您需要以其他方式使“第113行”的引用变得明显。那么你的问题至少会更容易理解和理解。现在由于图像的原因,它缺少大量的信息。大多数用户(如果不是所有用户的话)在阅读问题时不遵循任何链接,而是直接跳到下一个。谢谢您的反馈,@Antares。我按照你的建议编辑了这个问题。顺便说一下:C中没有定义签名溢出。