TCP/IP 中的二进制反码求和算法

所属分类: 软件编程 / 其它相关 阅读数: 1589
收藏 0 赞 0 分享
以4bit(计算方便一点,和16bit是一样的)做检验和来验证。

建设原始数据为 1100 , 1010 , 0000(校验位)

那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后

1100 , 1010 , 1000

那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确


另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。
更多精彩内容其他人还在看

java与c#的区别、两者有什么不同?

Java和C#都是一门面向对象的语言,Java更多地借鉴了C++的优点,而摒弃了它的一些不太容易被人掌握的知识点(有些不能说是缺点),并且增加了一些自己的特点,而C#则是更多地借鉴了Java的优点,而增加了一些自己的特点
收藏 0 赞 0 分享

nasm实现的用vmware运行自做的linux启动盘的引导代码

这个小的代码的编写和运行还是能让自己对系统启动有一个更深的认识,不过有个不懂的就是怎么用ISO镜像文件启动,怎么将引导代码写入ISO镜像文件,依然没有找到很好的方法解决
收藏 0 赞 0 分享

汇编语言超浓缩教程

对初学者而言,汇编的许多命令太复杂,往往学习很长时间也写不出一个漂漂亮亮的程序,以致妨碍了我们学习汇编的兴趣,不少人就此放弃
收藏 0 赞 0 分享

笛卡尔乘积介绍

笛卡尔(Descartes)乘积又叫直积。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}
收藏 0 赞 0 分享

人人都是开发者:7款傻瓜式APP开发工具

国外的营销工作者和技术开发者开发了许多能帮助企业创建简单APP应用的工具,通过这些工具,就算是一个对程序一窍不通的普通网民都可以很容易的创建一个企业的APP程序,并可以对程序进行应用更新维护,开展营销等活动
收藏 0 赞 0 分享

分享下手机软件界面设计浅析

手机的软件系统已成为用户直接操作和应用的主体,它应以美观实用、操作便捷为用户所青睐。用户界面设计的规范性显得尤为重要
收藏 0 赞 0 分享

bilibili弹幕转ass程序制作思路及过程

本文主要是为了方便线下播放Bilibili的弹幕,而专门制作的一款将弹幕转换为ASS的程序,介绍了程序制作的思路及过程,有需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse 误删文件的恢复与代码的恢复详解

这篇文章主要介绍了Eclipse 误删文件的恢复,代码的恢复的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ascii码表(二进制 十进制 十六进制)详细介绍

这篇文章主要介绍了ascii码表二进制 十进制 十六进制详细介绍的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

TCP的三次握手与四次挥手详细介绍

这篇文章主要介绍了TCP的三次握手与四次挥手详细介绍的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多