打印

谢谢,请指教

[复制链接]
831|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
15369902446|  楼主 | 2016-7-19 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
for (i =0;i<4;i++)
        {
                if (TmpArray[i] >= 'A')
                 TmpArray[i]=(uint8)(TmpArray[i]-55);
                else TmpArray[i]=TmpArray[i]-48;
        }
       
        H8=TmpArray[0]*16+TmpArray[1];
        L8=TmpArray[2]*16+TmpArray[3];
        result=H8*256+L8;
       
        return result;

相关帖子

沙发
dirtwillfly| | 2016-7-19 16:10 | 只看该作者
楼主有啥问题?

使用特权

评论回复
板凳
15369902446|  楼主 | 2016-7-19 16:11 | 只看该作者
我想知道这个程序是在干什么?

使用特权

评论回复
地板
JerryWu75| | 2016-7-19 17:42 | 只看该作者
16进制的BCD转int

使用特权

评论回复
5
15369902446|  楼主 | 2016-7-23 10:10 | 只看该作者
能否详细说明一下,谢谢!

使用特权

评论回复
6
15369902446|  楼主 | 2016-7-23 10:32 | 只看该作者

不知道这个程序是具体怎么个意思?

使用特权

评论回复
7
15369902446|  楼主 | 2016-7-23 10:33 | 只看该作者

能否详细说明一下?谢谢

使用特权

评论回复
8
joyme| | 2016-7-23 15:45 | 只看该作者
程序是16进制数转换,不过不够严谨

unsigned int result;
result = 0;
for (i =0;i<4;i++)
{
           if ((TmpArray[i] >= 'A') && (TmpArray[i] <= 'F'))
                TmpArray[i]=(uint8)(TmpArray[i]-'A');
           else if ((TmpArray[i] >= 'a') && (TmpArray[i] <= 'f'))

TmpArray[i]=TmpArray[i]-48;
}

使用特权

评论回复
9
joyme| | 2016-7-23 15:48 | 只看该作者
unsigned int result;
result = 0;
for (i =0;i<4;i++)
{
           if ((TmpArray[i] >= 'A') && (TmpArray[i] <= 'F'))
                TmpArray[i]=(uint8)(TmpArray[i]-'A');
           else if ((TmpArray[i] >= 'a') && (TmpArray[i] <= 'f'))
               TmpArray[i]=(uint8)(TmpArray[i]-'a');
           else if ((TmpArray[i] >= '0') && (TmpArray[i] <= '9'))
               TmpArray[i]=(uint8)(TmpArray[i]-'0');
           else                       //错误输入
                return 0;                  
           result += tmpArray[i];
           result <<= 4;
}
return result;
这样更好理解,实用性会好一些

使用特权

评论回复
10
JerryWu75| | 2016-7-25 17:11 | 只看该作者
例如TmpArray[0]='A',TmpArray[1]='2',
转换后result=0xa2

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

13

帖子

2

粉丝