补码0-0
问题描述:
答
你不需要减去。
如果校验和有效,计算整个数据包的校验和(包括校验和)应该给你0.如果结果不是0,数据包就会被破坏。
这是路由器如何验证校验和。
答
我建议阅读的补本教程
https://courses.cs.vt.edu/csonline/NumberSystems/Lessons/SubtractionWithOnesComplement/index.html
我觉得这是很容易:
0000 - 0000 = 0000 + 1111 = 1111
当最后1111
是在一个人的补码形式,我们知道,这是具有领先1
的负数。 最后的操作是人的补充(1111
)。
最终答案是- 0000
。 正如你所知道的一个人的补数计算是有两种形式 呈现零0
。
补码有两种表示0:+0(0000)和-0(1111)。 –
补货会给你买什么? –
假设您不想使用您计算的新校验和,您可以保存当前校验和,将其设置为0,计算校验和,然后将原始数据恢复,而不是复制整个缓冲区。 – clcto