请各位高手赐教,在ICMP的checksum计算算法中,为什么要用检验和不用其他的??? 我知道检验和的计算方法,但为什么要这样算,我在接收端算出来的值为0正确吗?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请问咕嘟,CHECKSUM程序中有最后好句不明checksum=(checksum>>16)+(checksum&0xffff); checksum+=(checksum>>16); return (unsigned short)(~checksum);为什么要加上CHECKSUM自己呢。 主要是当checksum的位数>16时所进行的计算。因为checksum是unsigned short 即16位。checksum=(checksum>>16)+(checksum&0xffff); //高16位和低16位相家checksum+=(checksum>>16); // 如果上面的结果仍然 >16 位return (unsigned short)(~checksum);//取反 串口数据存储到TXT文件中 WM_PAINT问题 ini保存配置之后跨窗口读取配置问题 视频采集卡选购(主要用于编程) 如何在程序中获取驱动程序信息? 如何获得正在运行程序的版本信息? 关于SOCKADDR_IN 的简单问题。(送分了) 请问:哪有一些filter的例子的代码可供下载? 一个小问题 数字水印的图像嵌入 请问我想把CTabCtrl设计成透明,以便把桌面的背景显示出来,该怎么办呀??? 8位PCM格式中编码是哪种,我从pcm文件中读出的unsigned(0-255)的编码,不是A-law,怎么转换呢?
checksum=(checksum>>16)+(checksum&0xffff);
checksum+=(checksum>>16);
return (unsigned short)(~checksum);
为什么要加上CHECKSUM自己呢。
因为checksum是unsigned short 即16位。
checksum=(checksum>>16)+(checksum&0xffff); //高16位和低16位相家
checksum+=(checksum>>16); // 如果上面的结果仍然 >16 位return (unsigned short)(~checksum);//取反