读书人

十六进制数转换成十进制数解决方法

发布时间: 2012-04-27 11:57:44 作者: rapoo

十六进制数转换成十进制数
有一个十六进制的数组:
unsigned char data[15]={0x56,0x32,0x2e,0x30,0x31,0x2d,0x32,0x30,0x31,0x32,0x2e,0x30,0x33,0x2e,0x32};
现在想将这个数组里的数逐一转换成十进制的数,并通过编辑控件显示出来,也就是显示出来的数是十进制的数。
请问如何将十六进制的数组转换成十进制的数组?感谢~

[解决办法]
遍历数组,然后sprintf()格式化
[解决办法]

C/C++ code
CString szItem, szsubItem;for(int i=0; i<_countof(data); i++){  szsubItem.Format(_T("%u"), (UINT)data[i]);  if(!szItem.IsEmpty()) szItem+=_T(",");  szItem += szsubItem;}SetDlgItemText(IDC_EDITXXX, szItem);
[解决办法]
C/C++ code
unsigned char data[15]={0x56,0x32,0x2e,0x30,0x31,0x2d,0x32,0x30,0x31,0x32,0x2e,0x30,0x33,0x2e,0x32};CString strText(_T(""));for(int i=0; i<_countof(data); i++){ strText.AppendFormat(_T("%d"), data[i]);}SetDlgItemText(IDC_EDIT1, strText);
[解决办法]
int a;
a=0X56;
a<<8;
a+=0x32;
实际中你可以这样:
int a;
for(int i=0;i<7;i+=2)
{
a=data[i];
a<<=8;
a+=data[i+1];
}
[解决办法]
5L说的对

读书人网 >VC/MFC

热点推荐