找到校验和

时间:2013-03-13 17:13:05

标签: networking network-programming binary udp checksum

我们有三个16位字:

0110011001100000
0101010101010101
1000111100001100

前两个的总和

0110011001100000
0101010101010101
-----------------
1011101110110101

将总和添加到第三个

1000111100001100
1011101110110101
-------------------
10100101011000001

但是这本书说的是:

0100101011000010

它说最后一次添加有溢出,但我不明白。

之后它获得第一个补充:

1011010100111101

成为校验和。

我不明白将总和添加到第三部分。谁能解释一下?

1 个答案:

答案 0 :(得分:4)

这里将总和添加到第三个值。

请注意缩进。溢出位是最左边的位。

 1000111100001100
 1011101110110101
-----------------
10100101011000001
^

将溢出添加到截断的结果:

 0100101011000001
 0000000000000001
-----------------
 0100101011000010

该步骤的预期结果是什么。