不能翻译,c#做不到。没有指针,放弃吧

解决方案 »

  1.   

    还是重写吧,C#没有指针,碰到指针的那部分用C#里面的一些东西不好弄,还是重写快了
      

  2.   


    放到C+/CLI当中去,编译成类库。再用C#引用如果真要用,指针这一块不用担心,虽然C#指针不是太强,满足上述代码我看是
    没有问题,貌似还没用到二级指针(unsafe / C# )只是C#的数组就不要用了。,
    int getbit(unsigned char b, int pos) {
    int bit;
    bit = (b>>pos)&1;
    return (bit);
    };
    int GetBit(byte b, int pos) 
    {
    return (b >> pos) & 1;
    } int decode_record_dx (char b0, char b1, char b2) {
    int x=0;
    x+= getbit(b2,2)*(+81);
    x+= getbit(b2,3)*(-81);
    x+= getbit(b1,2)*(+27);
    x+= getbit(b1,3)*(-27);
    x+= getbit(b0,2)*(+9);
    x+= getbit(b0,3)*(-9);
    x+= getbit(b1,0)*(+3);
    x+= getbit(b1,1)*(-3);
    x+= getbit(b0,0)*(+1);
    x+= getbit(b0,1)*(-1);
    return(x);
    };
    int decode_record_dx(sbyte b0, sbyte b1, sbyte b2){
    int x = 0;
    x += getbit(b2, 2) * +81;
    x += getbit(b2, 3) * -81;
    x += getbit(b1, 2) * +27;
    x += getbit(b1, 3) * -27;
    x += getbit(b0, 2) * +9;
    x += getbit(b0, 3) * -9;
    x += getbit(b1, 0) * +3;
    x += getbit(b1, 1) * -3;
    x += getbit(b0, 0) * +1;
    x += getbit(b0, 1) * -1;
    return x;
    }
      

  3.   

    不懂就去学
    或者问给你这段代码的人,它到底是在干什么,然后你用C#重写
    要么就上网找C#的代码,而不是找一段自己不认识的代码