二进制反码求和运算
前言
周四要给工作室的小朋友们继续培训计算机网络,要讲的内容是传输层,于是今天就在准备相应的材料,重新看回谢希仁老师的课本过程中又加深了一点理解,然后看到了当时碰到的第一个难点,UDP协议的校验和的计算。
其实本质上来说这个计算原理还是不难的,就是一个二进制反码求和运算,具体来说就是:
其中10中的1加到了下一列去,如果是最高列的1+1,那么得到的10留下0,1移到最低列,与最低位再做一次二进制加法即可。
在谢老师的这本书里,讲到的是一个15字节的UDP数据在发送方怎么进行数据的检验,然后列出了一个二进制的竖式并给出一个结果,然而并没有讲述是怎么计算出来的。经过我不断的努力,终于把二进制计算的过程整个写出来了。之前在数计院上课的时候,老师讲过一个较为之简单的十六进制计算法,对比之下确实是简单很多。好了,先上图。