CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

会delpli的高手帮我翻译下,翻译成C#.(急在线等)

楼主fxhslk(低语之森)2005-08-01 15:40:47 在 .NET技术 / C# 提问

Function   crc(buf:string):String;  
  Var  
    r,c,Last:word;                                                
    i,j,mMod,len:integer;                      
    XyHex:Array[0..3]   of   Char;  
  const   HexNm='0123456789ABCDEF';  
   
  Begin  
    Len:=length(Buf);  
    r:=$0000;  
    For   i:=0   to   len-1   do  
        Begin  
            r:=r   xor   ord(buf[i+1]);      
            For   j:=0   to   7   do  
                Begin  
                    c:=r   and   $0001;            
                    r:=r   shr   1;                    
                    if   c>0   then   r:=r   xor   $a001;    
                End;  
        End;  
      for   I:=0   to   3   do  
          XyHex[I]:='0';  
      Last:=r;  
      J:=3;  
      while   Last<>0   do  
      Begin  
          mMod:=Last   Mod   16;  
          XyHex[J]:=HexNm[mMod+1];  
          Last:=Last   Div     16;  
          J:=J-1;  
      end;  
      Result:=XyHex;  
  end;  
  问题点数:100、回复次数:7Top

1 楼okyzx(Jason)回复于 2005-08-01 16:06:25 得分 100

private   string   crc(string   Buf)  
  {  
  uint   r,c,Last;  
  int   i,j,mMod,Len;  
  char[]   XyHex=new   char[3];  
  string   HexNm="0123456789ABCDEF";  
  Len=Buf.Length;  
  for(i=0;i<Len;i++)  
  {  
  r   =r   ^   Buf[i   +1];  
  for(j=0;i<7;j++)  
  {  
  c=r   &   0x0001;  
  r=r   >>   1;  
  if(c>0)  
  r=r   ^   0xa001;  
  }  
  }  
  for(i=0;i<3;i++)  
  {  
  XyHex[i]   ='0';  
  }  
  Last   =r;  
  j=3;  
  while(Last!=0)  
  {  
  mMod   =(int)Last   %   16;  
  XyHex[j]=HexNm[mMod+1];  
  Last=(uint)Last   /   16;  
  j--;  
  }  
  return   XyHex.ToString();  
  }  
  Top

2 楼okyzx(Jason)回复于 2005-08-01 16:07:06 得分 0

先试试,有什么问题再调试Top

3 楼crossrowman(godi)回复于 2005-08-01 16:13:01 得分 0

这句改下   char[]   XyHex=new   char[3];  
  char[]   XyHex=new   char[4];//是4     而不是   3Top

4 楼fxhslk(低语之森)回复于 2005-08-01 17:31:41 得分 0

运行后,一传值进去,进程就死了555555555Top

5 楼NewBo(^_^)回复于 2005-08-01 17:50:52 得分 0

同意:   crossrowman(godi)Top

6 楼fxhslk(低语之森)回复于 2005-08-02 10:09:31 得分 0

我把小鱼前辈的代码改了改,但是还是有问题.大家再帮我看看吧.一调试成功就结帖  
  private   string   crc(string   Buf)  
  {  
  ushort   r,c,Last;  
  int   i,j,mMod,Len;  
  char[]   XyHex=new   char[4];  
  const   string   HexNm="0123456789ABCDEF";  
  Len=Buf.Length;  
   
  r   =   0x0000;  
  for(i=0;i<=Len-1;i++)  
  {  
  r   =Convert.ToUInt16(r   ^   Convert.ToUInt16((int)Buf[i]));  
  for(j=0;i<=7;j++)  
  {  
  c=Convert.ToUInt16(r   &   0x0001);  
  r=Convert.ToUInt16(r   >>   1);  
  if(c>0)  
  r=Convert.ToUInt16(r   ^   0xa001);  
  }  
  }  
  for(i=0;i<=3;i++)  
  {  
  XyHex[i]   ='0';  
  }  
  Last   =r;  
  j=3;  
  while(Last!=0)  
  {  
  mMod   =(int)Last   %   16;  
  XyHex[j]=HexNm[mMod];  
  Last=Convert.ToUInt16(Last   /   16);  
  j--;  
  }  
  return   XyHex.ToString();  
  }Top

7 楼fxhslk(低语之森)回复于 2005-08-02 10:24:14 得分 0

各位救命啊........Top

相关问题

  • 翻译:java -> C#
  • 翻译成C++ Builder
  • The C++ Standard Library翻译问题
  • asp 翻译成 c# ,急
  • 麻烦翻译一段c语言代码为vb代码,在线等,急!!!
  • 三行VB代码,请帮忙翻译成C#代码,高分在线等
  • 请VB高手+C#高手帮我把VB写的这个函数翻译成C#的(在线...)
  • 如何把C++翻译成VB?
  • 请问,<c++ primer>的翻译问题?
  • C# to VB.Net(附赠翻译程序)

关键词

  • xyhex
  • mmod
  • hexnm
  • buf
  • len
  • begin
  • char

得分解答快速导航

  • 帖主:fxhslk
  • okyzx

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo