计算 8 位互联网校验和
Calculating a 8-bit internet checksum
我将如何计算此数据的 8 位互联网校验和?
根据我目前的发现,要计算校验和,您需要将每个数据部分的总和相加,然后对该结果总和使用第一个补充。但是当我尝试这个时,我得到:
00000011
+ 00000100
= 00000111
(x = 3 + 4)
00000111
+ 00000101
= 00001100
(y = x + 5)
00001100
+ 00000110
= 00010010
(y + 6)
应用第一个赞美会让我:11101101
与上面的预期相比,这是不正确的结果。
我的计算方法有误吗?
数字 3
-6
在 ASCII 中是 0x33
-0x36
。
0x33
+ 0x34
+ 0x35
+ 0x36
= 0xd2
= 0b11010010
应用第一个赞美你会得到 0b00101101
这就是所提供的结果。
所以基本上你的计算是好的,但你应该使用数字的 ASCII 代码,而不是数字本身。
我将如何计算此数据的 8 位互联网校验和?
根据我目前的发现,要计算校验和,您需要将每个数据部分的总和相加,然后对该结果总和使用第一个补充。但是当我尝试这个时,我得到:
00000011
+ 00000100
= 00000111
(x = 3 + 4)
00000111
+ 00000101
= 00001100
(y = x + 5)
00001100
+ 00000110
= 00010010
(y + 6)
应用第一个赞美会让我:11101101
与上面的预期相比,这是不正确的结果。
我的计算方法有误吗?
数字 3
-6
在 ASCII 中是 0x33
-0x36
。
0x33
+ 0x34
+ 0x35
+ 0x36
= 0xd2
= 0b11010010
应用第一个赞美你会得到 0b00101101
这就是所提供的结果。
所以基本上你的计算是好的,但你应该使用数字的 ASCII 代码,而不是数字本身。