首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

有懂C#的帮编译一下子这段代码

2014-04-21 
有懂C#的帮编译一下这段代码本用C#的,看不懂C++代码,自己了一下没成功,麻烦帮编译一下,谢谢!static int Bi

有懂C#的帮编译一下这段代码
本用C#的,看不懂C++代码,自己了一下没成功,麻烦帮编译一下,谢谢!
static int BinToTxt(int cBin)
{
const char* map = "0123456789abcdef";
    return map[cBin & 0xF];
}

static int TxtToBin(int c)
{
    if (c >= '0' && c <= '9'){
        return (c - '0');
    }

    c |= 0x20; //都转成小写字母

    if (c < 'a' && c > 'f'){
        return -1;
    }

    return (c - 'a' + 10);
}

static CLQString BcdToHex(const char* pData, int len)
{
CLQString out('\0', len/2); 
for (size_t i=0; i<out.length(); ++i){
out[i] = (TxtToBin(pData[2*i]) << 4) + TxtToBin(pData[2*i+1]);
}
return out;
}

static CLQString HexToBcd(const char* pData, int len)
{
CLQString out('\0', len*2); 
for (size_t i=0; i<len; ++i){
out[i*2] = BinToTxt(pData[i]>>4);
out[i*2+1] = BinToTxt(pData[i]);
}
return out;
}

[解决办法]
CLQString 是什么类?
试试看这个行吗

 public static int BinToTxt(int cBin)
        {
            const string map = "0123456789abcdef";
            return map[cBin & 0xF];
        }

        public static int TxtToBin(int c)
        {
            if (c >= '0' && c <= '9')
            {
                return (c - '0');
            }

            c 
[解决办法]
= 0x20; //都转成小写字母

            if (c < 'a' && c > 'f')
            {
                return -1;
            }

            return (c - 'a' + 10);
        }

        public static string BcdToHex(string pData, int len)
        {
            char[] ou = new string('\0', len / 2).ToArray();
            for (int i = 0; i < ou.Length; ++i)
            {
                ou[i] = (char)((TxtToBin(pData[2 * i]) << 4) + TxtToBin(pData[2 * i + 1]));
            }
            return new string(ou);
        }

        public static string HexToBcd(string pData, int len)
        {
            char[] ou = new string('\0', len * 2).ToArray();
            for (int i = 0; i < len; ++i)
            {
                ou[i * 2] = (char)BinToTxt(pData[i] >> 4);
                ou[i * 2 + 1] =(char) BinToTxt(pData[i]);
            }
            return new string(ou);
        }

热点排行