首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

转换函数有关问题.

2013-03-01 
转换函数问题..CString BCD码转asc(char *BCD,int bytes){unsigned charh0,l0,hh240,ll15 char *DPT_

转换函数问题..
CString BCD码转asc(char *BCD,int bytes)
{
unsigned char  h=0,l=0,hh=240,ll=15;
 char *DPT_ASC=(char*)malloc(bytes);
for (int i = 0,j=0;i <7; i++) 
{
h=BCD[i];
l=BCD[i];
h=h & hh; // 高位
l=l & ll; // 低位
h=h>>4;
if(h<=9)h=h+48;
else h=h+55;
if(l<=9)l=l+48;
else l=l+55;
DPT_ASC[j]=h;
DPT_ASC[j+1]=l;
j=j+2;
}
CString DPT;

DPT.Format("%s",DPT_ASC);
return DPT;
}
CString Asc码ToBcd(char *BCD,int bytes)
{
unsigned char  h=0,l=0,hh=240,ll=15;
 char *DPT_ASC=(char*)malloc(bytes);
for (int i = 0,j=0;i <7; i++) 
{
 h=BCD[j];
 l=BCD[j+1];
  h=h | hh;
  l=l | ll;
      h=h<<4;
  if (h>=9) h=h-48;
 else h=h-55;
 if(l>=9) l=l-45;
      else l=l-55;
  DPT_ASC[i]=h+l;

       j+j+2;
}
CString DPT;

DPT.Format("%s",DPT_ASC);
return DPT;
}
AscToBcd 函数 我这样写怎么不对呢?正确的应该怎么写啊。我按照上面的那个函数反着写的啊...
[解决办法]
概念要正确,2位表示一位。

然后断点查。

热点排行