TCP/IP 中的二进制反码求和算法
更新时间:2012年04月03日 13:08:20 作者:
对于这个算法,很多书上只是说一下思路,没有具体的实现。我在这里举个例子吧
以4bit(计算方便一点,和16bit是一样的)做检验和来验证。
建设原始数据为 1100 , 1010 , 0000(校验位)
那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后
1100 , 1010 , 1000
那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确
另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。
建设原始数据为 1100 , 1010 , 0000(校验位)
那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后
1100 , 1010 , 1000
那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确
另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。
相关文章
TCP 四种定时器(重传定时器,坚持计时器,保活定时器,时间等待计时器)
这篇文章主要介绍了TCP 四种定时器,重传定时器,坚持计时器,保活定时器,时间等待计时器的相关资料,需要的朋友可以参考下2017-03-03
PyCharm2022激活码破解补丁一键安装免费分享(2022年持续更新)
PyCharm2022最新激活码分享(持续更新),PyCharm激活补丁一键安装简单方便,无需手动修改文件,MAC,linux,Windows系统都可使用2022-07-07
微信支付jsapi缺少参数 total_fee 错误分析与解决方法
这篇文章主要介绍了微信支付jsapi缺少参数 total_fee 错误分析与解决方法,需要的朋友可以参考下2018-03-03


最新评论