当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: create procedure get_tc_sum @timeterm nchar(100)= as declare @strsql nchar(4000) set @strsql= select employee.em_no,employee.name,job.job_name, isnull(cc.tc_sum_sv,0) as tc_sum_sv,isnull(cc.do_s......
    摘要: 如何解決這不一致的問題 ......


简单的校验位问题,在线等

 
          我要用一个无校验的方式,发送给偶校验的接收方,所以必须自己生成一个偶校验位(这种想法有错吗?),而我要发送的数据是一个结构,当然到最后是用Byte   *Ptr指向的一块内存区了,请问我如何加,加在哪儿?能不能给出一个具体的编码范例呀?我在网上找到了一个字节的偶校验函数,是用位来做的,  
  #define   testbit(var,bit)((var)&(1<<bit)))  
  byte   giet_Result(byte   change_data)  
  {  
      unsigned   char   temp   =   0;  
      for(int   i=8;i;i--)  
      {  
          temp^=change_data;  
  change_data>>=1;  
      }  
   
  return   testbit(temp,1);  
   
  上面的函数有对有错,请各帮我指点一下,这个好位是一个字节(8位?)的校验,也没有读懂,还有就是能不能给出一个通用校验函数,对传出的byte进行偶校验,并加上校验位,这样,就可以用无校验(VC++)的方式发送,而对方就可以用偶校验来接收,就不会出错了.  
   
  我在做zigbee2420,就是这个在用,搞得头大,请一定帮忙,200分送上(我在VC++还开了贴)!

NO.1   作者: XBox360

你看看这个帖子,会不会有点帮助  
  http://community.csdn.net/Expert/topic/4226/4226518.xml?temp=.6936914

NO.2   作者: bugebear3

校验位在两个结构的位置应该是一样的.不然收发包就太麻烦了

NO.3   作者: gonghuajing

q   加我QQ:123555261我发给你/1

NO.4   作者: Flood1984

楼主的那个函数的意思是这样的:  
   
  从所要校验的函数第0bit开始向最高位校验,  
  使用异或操作,  
  这样当没遇到1时,temp会一直等于0,  
  如果遇到了1,那么temp就会等于1,  
  在temp=1时,如果遇到了0,那么temp不变,如果遇到1,就变回成0,  
  刚好能满足1的数量为偶数就抵消.  
   
  所以返回值为0表示正确,1表示错误.


 ·窗体弹出菜单问题    »显示摘要«
    摘要: 我做一个没有边框的程序,即borderstyle=none,在不加弹出菜单时可以,但加上了,却出现了边框,即borderstyle=none不起作用了,请问如何解决? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE