TCP/IP 中的二进制反码求和算法
发布时间:2016-12-28 来源:查字典编辑
摘要:以4bit(计算方便一点,和16bit是一样的)做检验和来验证。建设原始数据为1100,1010,0000(校验位)那么把他们按照4bit一...
以4bit(计算方便一点,和16bit是一样的)做检验和来验证。
建设原始数据为 1100 , 1010 , 0000(校验位)
那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后
1100 , 1010 , 1000
那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确
另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能是结果正确。