我将如何计算此数据的8位Internet校验和?
根据我到目前为止发现的内容,要计算校验和,您需要将每个数据部分的总和相加,然后对该结果总和使用第一个补码。但是当我尝试这个我得到:
[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码,而不是数字本身。