Networking 查找校验和

Networking 查找校验和,networking,network-programming,binary,udp,checksum,Networking,Network Programming,Binary,Udp,Checksum,我们有三个16位字: 0110011001100000 0101010101010101 1000111100001100 前两者之和 0110011001100000 0101010101010101 ----------------- 1011101110110101 把总数加到第三个数上 1000111100001100 1011101110110101 ------------------- 10100101011000001 但这本书说这部分是: 0100101011000010

我们有三个16位字:

0110011001100000
0101010101010101
1000111100001100
前两者之和

0110011001100000
0101010101010101
-----------------
1011101110110101
把总数加到第三个数上

1000111100001100
1011101110110101
-------------------
10100101011000001
但这本书说这部分是:

0100101011000010
上面说上一次添加时溢出,但我不明白

之后,它获得第一个补码:

1011010100111101
这将成为校验和


我不明白为什么要把总数加到第三部分。有人能解释一下吗?

这里是将总和加到第三个值上

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

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

 0100101011000001
 0000000000000001
-----------------
 0100101011000010
这是该步骤所需的结果

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