求大侠帮忙把c++代码翻译成c#,或指点下,急。感激不尽int __fastcall TForm1::chabiao(BYTE  Data,   int   n)

    int   j;     int   crcbiao[40]={ 0x97,0xc8,0x64,0x32,0x19,0x8f,0xc4,0x62, 
          0x31,0x9b,0xce,0x67,0xb0,0x58,0x2c,0x16,
          0x0b,0x86,0x43,0xa2,0x51,0xab,0xd6,0x6b,
          0xb6,0x5b,0xae,0x57,0xa8,0x54,0x2a,0x15,
          0x89,0xc7,0xe0,0x70,0x38,0x1c,0x0e,0x07
          };
    int   chunchu=0   ; 
    int   k=0x80; 
    for(j=n;j <(8+n);j++)
    {
        if(Data&k)
            chunchu=chunchu^crcbiao[j];
        k=k/2;
    }
    return   chunchu;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
int __fastcall TForm1::crc(BYTE   *pushmsg)

    int   jieguo=0xff;
    int   m=0,i;
    for(i=0;i <5;i++)
    {
        jieguo=jieguo^chabiao(*(pushmsg++),m);
        m+=8;
    }
    return   jieguo;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    BYTE by[5] = {0xe9,0xcc,0x02,0xcc,0x02};
    int icrc = crc(&by[0]);
    Edit1->Text = IntToHex(icrc,2);
}

解决方案 »

  1.   

    这不是和c#差不多嘛??
    int chabiao(byte Data, int n)
    {  
      int j;    int crcbiao[40]={ 0x97,0xc8,0x64,0x32,0x19,0x8f,0xc4,0x62,  
      0x31,0x9b,0xce,0x67,0xb0,0x58,0x2c,0x16,
      0x0b,0x86,0x43,0xa2,0x51,0xab,0xd6,0x6b,
      0xb6,0x5b,0xae,0x57,0xa8,0x54,0x2a,0x15,
      0x89,0xc7,0xe0,0x70,0x38,0x1c,0x0e,0x07
      };
      int chunchu=0 ;  
      int k=0x80;  
      for(j=n;j <(8+n);j++)
      {
      if(Data&k)
      chunchu=chunchu^crcbiao[j];
      k=k/2;
      }
      return chunchu;
    }
      

  2.   

    不对啊if(Data&k)这个编译不通过啊
      

  3.   

    c++ builder啊。。好怀念。。形参里面Data改用小写。。