【发布时间】:2010-08-26 17:34:08
【问题描述】:
我用 c 语言编写了一个函数,将字节(无符号字符)BCD 字符串转换为 ASCII。请查看代码并提出一些改进建议。
有没有其他有效的方法可以将 BYTE BCD 转换为 ASCII。
BYTE_BCD_to_ASC(BYTE *SrcString, char *DesString)
{
switch (((BCD *)SrcString)->l)
{
case 10:/*A*/
case 11:/*B*/
case 12:/*C*/
case 13:/*D*/
case 14:/*E*/
case 15:/*F*/
*DesString = (char)(((BCD *)SrcString)->l + '0' + 7);
break;
default:
*DesString = (char)(((BCD *)SrcString)->l + '0');
break;
}
switch (((BCD *)SrcString)->h)
{
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
*(DesString + 1) = (char)(((BCD *)SrcString)->h + '0' + 7);
break;
default:
*(DesString + 1) = (char)(((BCD *)SrcString)->h + '0');
break;
}
*(DesString + 2) = '\0';
}
谢谢
法哈尔
【问题讨论】: