如何将BE01045156ED转换成BCD码?

解决方案 »

  1.   

    追加一下问题,计算机中一个字母如B是在一位的,现在能不能将两个字母存储在一位中如将BE存在一位中
      

  2.   

    BCD码又称8421BCD码  也就是二进制。
    你上面的16进制,每一位站4个二进制位。。
    ABCDEF  分别代表10,11,12,13,14,15.。
    自己去转换吧
    首先声明一点,你上面的每一位在计算机中都占4位。。
      

  3.   

    以前写的,不过字符串必须是十进制的数字bool StrToBCD(char *pSource, BYTE *pDest, int nCount)
    {
    int nBCDByte = nCount >> 1;
    int nLastChar = strlen(pSource);
    int nFirst = nCount - nLastChar;
    char c;
    nLastChar--;
    if (nFirst < 0)
    return false;
    memset(pDest, 0, nBCDByte);
    for (int i = nCount-1; i >= nFirst; i--)
    {
    if (pSource[nLastChar] < 0x30 || pSource[nLastChar] > 0x39)
    return false;
    else
    c = pSource[nLastChar--];
    c &= ~0x30;
    if (!(i%2))
    c <<= 4;
    pDest[i>>1] |= c;
    }
    return true;
    }