【问题标题】:finding the checksum找到校验和
【发布时间】:2013-03-13 17:13:04
【问题描述】:

我们有三个 16 位字:

0110011001100000
0101010101010101
1000111100001100

前两个的总和

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

将总和添加到第三个

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

但是这本书说那部分是:

0100101011000010

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

然后它得到第一个补码:

1011010100111101

成为校验和。

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

【问题讨论】:

    标签: networking network-programming binary udp checksum


    【解决方案1】:

    这里将总和与第三个值相加。

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      相关资源
      最近更新 更多