VC++中2进制,10进制,16进制相互转换
来源:互联网 发布:网络配线架安装电话 编辑:程序博客网 时间:2024/06/06 17:33
BinToDec CString::Format
2 --------------------------> 10 ---------------------------> 16
2 <-------------------------- 10 <--------------------------- 16
DecToBin strtoul
1. 2 进制 -----> 10 进制
CString BinToDec(CString strBin)
{
CString strDec;
long nDec = 0, nLen;
int i, j, k;
nLen = strBin.GetLength();
for (i=0; i<nLen; i++)
{
if ( strBin[nLen-i-1] == '0' )
continue;
else
{
k = 1;
for(j=0; j<i; j++)
k = k * 2;
nDec += k;
}
}
strDec.Format("%ld", nDec);
return strDec;
}
2. 10 进制 -----> 2 进制
CString DecToBin(CString strDec)
{
int nDec = atoi(strDec);
int nYushu, nShang;
CString strBin = _T(""), strTemp;
TCHAR buf[2];
BOOL bContinue = TRUE;
while ( bContinue )
{
nYushu = nDec % 2;
nShang = nDec / 2;
sprintf(buf, "%d", nYushu);
strTemp = strBin;
strBin.Format("%s%s", buf, strTemp);
nDec = nShang;
if ( nShang == 0 )
bContinue = FALSE;
}
int nTemp = strBin.GetLength()%4;
switch(nTemp)
{
case 1:
strTemp.Format(_T("000%s"), strBin);
strBin = strTemp;
break;
case 2:
strTemp.Format(_T("00%s"), strBin);
strBin = strTemp;
break;
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);
- VC++ 中实现进制2进制,10进制,16进制的相互转换
- 【原】VC++ 中实现进制2进制,10进制,16进制的相互转换
- VC++ 中实现进制2进制,10进制,16进制的相互转换
- VC++中2进制,10进制,16进制相互转换
- VC++中2进制,10进制,16进制相互转换
- vc 10进制与2 8 16进制相互转换
- vc 10进制与2 8 16进制相互转换
- 2进制、8进制、16进制相互转换
- java中 8进制 10进制 2进制 16进制 相互转换
- 10进制与2进制,8进制,16进制的相互转换
- vc中GB2312,BIG5,Unicode相互转换
- vc中GB2312,BIG5,Unicode相互转换
- vc中GB2312,BIG5,Unicode相互转换
- OC 2 10 16 进制相互转换
- C# 2、10、16进制的相互转换
- Oracle中各种进制相互转换
- 在VC中整数和16进制四字节间的相互转换
- vc中gbk到utf-8的相互转换
- _cdecl 和_stdcall及其他调用方式 (一)
- 函数调用规范__cdecl和__stdcall的区别一目了然(表格形式)(二)
- 9月542起融资:投资界的“金九银十”,本月关键词大额、频繁丨潜在月报
- API之绘图(转)
- API之子窗口创建 (转)
- VC++中2进制,10进制,16进制相互转换
- MFC编程(转)
- MFC应用程序框架入门(转)
- 嵌入式设计模式:有限状态自动机的C语言实现
- API编程的详细介绍(转)
- java基础:文件编码方式
- VC Afx全局函数、数据类型、字符串转化函数(转)
- Windows API-GDI入门基础知识详解(转)
- VC最常用操作程序20项列举(转)