龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC++ 中实现进制2进制,10进制,16进制的相互转换(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
case 3: strTemp.Format(_T("0%s"), strBin); strBin = strTemp; break; default: break; } return strBin; } 3. 2进制 ----- 16进制 2进制先转换为10进制,再转换为16进制 CString strDec, strB
    case 3:
        strTemp.Format(_T("0%s"), strBin);
        strBin = strTemp;
        break;
    default:
        break;
    }
 
    return strBin;
}

3. 2进制 -----> 16进制

   2进制先转换为10进制,再转换为16进制

    CString strDec, strBin, strHex;
    strBin = _T("1110");
    strDec = BinToDec(strBin);
    int nDec;
    nDec = atol(strDec);
    strHex.Format(_T("%x"), nDec);  

4. 10 进制 -----> 16 进制

    int nDec = 10;
    CString str;
    str.Fomat(_T("%x"), nDec);

5. 16 进制 -----> 10 进制

    CString strDec, strHex;
    strHex = _T("af");
    DWORD dwHex = strtoul(strHex, NULL, 16);
    strDec.Format(_T("%ld"), dwHex);

6. 16 进制 -----> 2 进制

    16进制先转换为10进制,再转换为2进制
  
    CString strDec, strBin, strHex;
    strHex = _T("af");
    DWORD dwHex = strtoul(strHex, NULL, 16);
    strDec.Format(_T("%ld"), dwHex);
    strBin = DecToBin(strDec);

只是简单写了一下,没有考虑效率问题。

精彩图集

赞助商链接