VC++进制间转换

//1. 10进制转2进制
int iNumber = 255
char szBuf[64] = {0};
_itoa(iNumber, szBuf, 2);

输出结果:

//2. 10进制转16进制
//   方法1
char szBuf1[64] = {0};
sprintf(szBuf1, "%x", iNumber);

//   方法2
char szBuf2[64] = {0};
_ltoa(iNumber, szBuf2, 16 );

输出结果:

//3. 16进制转10进制
unsigned long lValue;//4 BYTE
char szHex[64] = {0};
memcpy(szHex, "0xFF78", 6);
sscanf(szHex, "%X", &lValue);

输出结果:

//4. 16进制转2进制
unsigned long lValue1;//4 BYTE
char szHex1[64] = {0};
memcpy(szHex1, "0xFF78", 6);
sscanf(szHex1, "%X", &lValue1);
char szExc[64] = {0};
_itoa(lValue, szExc, 2 );

输出结果:

//5. 2进制转10进制
char *pStop;
unsigned int iValue = 0; 
char *pBin = "10111010010001";

输出结果:

//6. 2进制转16进制
char *pStop1;
char *pBin1 = "10111010010001";
unsigned iValue1 = strtol(pBin1, &pStop1, 2);
char szHex2[64] = {0};
sprintf(szHex2, "%x", iValue1);

输出结果:

7. CString转Unicode码(使用于中英文)
/*****************************************************************************
* 函数名称:String2Unicode
* 函数功能:字符串转成Unicode(使用于中英文)
* 输入参数: sSource:需要转成Unicode码的字符串
* 输出参数: 无
* 返回值  : 转成Unicode码字符 
*****************************************************************************/
CString String2Unicode(CString sSource)
{
    USES_CONVERSION;    
    DWORD dwNum = MultiByteToWideChar(CP_ACP, 0, T2A(sSource), -1, NULL, 0);
    wchar_t *pwText = new wchar_t[dwNum] ;
    dwNum = MultiByteToWideChar(CP_ACP, 0, T2A(sSource), -1, pwText, dwNum); 

    //unicode内容在pwText中,下面显示代码
    CString m_Unicode;
    for(int i = 0; i < (int)dwNum - 1; i++)  
    {
        CString strTmp;
        strTmp.Format(L"%04X", pwText[i] );
        m_Unicode += strTmp;
    }
    delete[] pwText; 

    return m_Unicode;
}

CString sSource = L"我喜欢C++ I LOve C P P";
 CString Unicode = String2Unicode(sSource);

输出结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mark-puls

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值