这些示例假设补码算法,因为弗莱彻算法在补码机器上是不正确的。
这个 SO question提供了一本书的扫描,上面写着:
加法以 255 为模(1 的补码算术)
弗莱彻的校验和使用的是运行和,所以我看不到负数的必要性,目的是识别差异,所以只要在校验系统上使用相同的数字系统(一个补码,二进制补码,两者都不是)那么这有关系吗?维基百科页面上给出的示例也指定了无符号整数类型。
我已经用 C 标记了它,因为 Wikipedia 页面上给出的示例都是 C 语言,所以这可能与此有关。我不是一个数学家,也不是一个勉强能胜任的程序员,所以很可能有一些非常明显的原因说明补码会产生影响。