在c语言下:
uchCRCHi是一个char类型变量
*pushMsg是char类型的一个数据指针语句char index=uchCRCHi ^ *puchMsg++是什么意思呢?
如何转化为c#代码形式?
敬请高手解答哦^_^

解决方案 »

  1.   

    char index=uchCRCHi ^ *puchMsg++中的*puchMsg表示puchMsg所指的内存块的内容,就是那个char
    根据运算规则,先*puchMsg,再*puchMsg++(表示那个char的ascii码加1作为表达式*puchMsg++(返回值),然后
    算^运算,表示与,就是uchCRCHi 变量的内容和*puchMsg++返回值进行与运算,最后付给index。
    补充,C#没有指针变量。C#代码中
    uchCRCHi是一个char类型变量 
    pushMsg是char类型的一个数据 
    char index=uchCRCHi ^ puchMsg++试试看是不是楼主要的结果
      

  2.   

     真是谢谢你!可是还是有些不明白,能不能把下面的代码(crc校验码计算)转化为c#形式的?short crc16( uchar *puchMsg, uchar  usDataLen){ uchar uchCRCHi = 0xFF ; /* 高CRC字节初始化 */
      uchar uchCRCLo = 0xFF ; /* 低CRC 字节初始化 */
      uchar uIndex ; /* CRC循环中的索引 */
      //uchar[] chCRC={0,0};
     while (usDataLen--) /* 传输消息缓冲区 */
       {
        uIndex = uchCRCHi ^ *puchMsg++; /* 计算CRC */
        uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ;
        uchCRCLo = auchCRCLo[uIndex] ;
       }
               return (uchCRCHi << 8 | uchCRCLo) ;
    }
    其中auchCRCHi[]与auchCRCLo[]为已定义好的数组,等待你的参与!