Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
补品对Fletcher'有影响吗;s校验和?_C_Checksum_Twos Complement_Ones Complement - Fatal编程技术网

补品对Fletcher'有影响吗;s校验和?

补品对Fletcher'有影响吗;s校验和?,c,checksum,twos-complement,ones-complement,C,Checksum,Twos Complement,Ones Complement,各国: 这些例子假设两个人的补码算法,因为弗莱彻的算法在一个人的补码机器上是不正确的 提供一本书的扫描,其中说明: 以255模(1的补码运算)进行加法 弗莱彻的校验和使用一个连续的和,所以我认为不需要负数,目的是识别差异,所以只要在校验系统上使用相同的数字系统(一个补码,两个补码,都不是),那么这有关系吗?Wikipedia页面上给出的示例也指定了无符号整数类型 我已经用C标记了这一点,因为维基百科页面上给出的示例都是C,所以这可能与此有关。我不是一个数学家,也不是一个勉强称职的程序员,所以补码

各国:

这些例子假设两个人的补码算法,因为弗莱彻的算法在一个人的补码机器上是不正确的

提供一本书的扫描,其中说明:

以255模(1的补码运算)进行加法

弗莱彻的校验和使用一个连续的和,所以我认为不需要负数,目的是识别差异,所以只要在校验系统上使用相同的数字系统(一个补码,两个补码,都不是),那么这有关系吗?Wikipedia页面上给出的示例也指定了无符号整数类型

我已经用C标记了这一点,因为维基百科页面上给出的示例都是C,所以这可能与此有关。我不是一个数学家,也不是一个勉强称职的程序员,所以补码之所以会产生影响,很可能有一些显而易见的原因


收到任何意见。

数字系统非常重要

虽然Fletcher的校验和使用两个补码算法(整数计算模256)和一个补码算法(整数计算模255),但得到的算法具有不同的错误检测特性。一个补码版本的未检测到的双位错误的最小间隔为2040位,而两个补码的最小间隔仅为16位(本文中的表1)


因此,弗莱彻明确建议不要使用这两个版本的补充版本。

我可以补充一下吗,我用了3种不同的浏览器,关闭了每个插件、扩展、防火墙,等待了一段时间,使用私人浏览,再等一段时间……还有大约50次试图通过那该死的恼人的验证码。显然,10000次代表后我不会感到烦恼,所以请通过投票按钮给我一些爱!(o_o)在现代2的补码硬件上,或者在无符号计算中,您必须手动考虑从254到0(模255)的换行。补码系统上的有符号字节可以免费换行,避免-0或+0,而无需手动干预。哦,想象一下你在计算一个简单的算术8位校验和。如果直接在两位的补码(模256)中进行,则任何单个位错误只会影响其上方的更重要位,而在一位的补码和(模255)中,由于模相对于位位置而言是素数,因此会雪崩到较低位。也就是说,否则第7位中的两个错误将相互抵消,而第0位中的一个错误需要256个错误才能抵消。@doynax谢谢,知道这一点很有帮助。我想你应该加上这些作为答案。