|
|
1
4
第一:无法正确反转导致整数溢出的操作。基本上,问题是您无法知道整数溢出在前一个操作中是否发生过一次、两次甚至更频繁。因此您无法获得原件
第二:散列计算取决于应用的散列值的顺序。
由于追加最后一个值的散列值更改取决于所有以前的散列值,因此您不能只更改一个中间散列值,因此没有(性能良好)的方法来消除
如果您使用
|
|
|
2
3
基本上,当用整数进行计算时,需要进行2^32的算术模运算。所以在溢出的情况下,如果不是除以37,而是乘以它的模逆1857283155,它就会工作。例如,结果1:
第二个问题是,当您添加a然后添加b时,哈希值与添加b然后添加a时的值不同。这是无法用此哈希函数解决的。 |
|
|
WhatABeautifulWorld · int16溢出导致无限循环 8 年前 |
|
|
Cretu Bogdan · 加法是否可以同时设置进位和溢出标志? 8 年前 |
|
|
goodvibration · 实施安全左移 8 年前 |
|
|
Fua · 嵌入式C计数器中的FIFO队列是否会溢出? 8 年前 |
|
Wes · 还原哈希代码“sum” 8 年前 |
|
|
user8690050 · 为什么两个正整数的乘积是负整数? 8 年前 |
|
Kevin Cruijssen · 再现行为最大值和最小值 8 年前 |
|
|
Sorawee Porncharoenwase · 浮点溢出为负 8 年前 |
|
|
Vincent · 打印零,但不基于该条件退出循环 9 年前 |