OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2258|回复: 3

mini板子 十六进制字符型转十进制数

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2017-8-24
在线时间
6 小时
发表于 2017-10-20 10:23:31 | 显示全部楼层 |阅读模式
1金钱
QQ截图20171020093342.png QQ截图20171020093316.png
自己仿照C语言程序移植的,输出结果不对,大神们帮忙看一下,mini板子十六进制字符串转十进制数@zuozhongkai

最佳答案

查看完整内容[请看2#楼]

看帖子:http://www.openedv.com/forum.php?mod=viewthread&tid=231109&page=1&extra=#pid746413
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-10-20 10:23:32 | 显示全部楼层
回复

使用道具 举报

62

主题

903

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3566
金钱
3566
注册时间
2016-1-8
在线时间
544 小时
发表于 2017-10-20 10:45:57 | 显示全部楼层
[mw_shl_code=c,true]/*
* 将字符转换为数值
* */  
int c2i(char ch)  
{  
        if(isdigit(ch))  
                return ch - 48;  
        if( ch < 'A' || (ch > 'F' && ch < 'a') || ch > 'z' )  
                return -1;  
        if(isalpha(ch))  
                return isupper(ch) ? ch - 55 : ch - 87;  
        return -1;  
}  
  
/*
* 功能:将十六进制字符串转换为整型(int)数值
* */  
int hex2dec(char *hex)  
{  
        int len;  
        int num = 0;  
        int temp;  
        int bits;  
        int i;  
        len = strlen(hex);  
  
        for (i=0, temp=0; i<len; i++, temp=0)  
        {  

                temp = c2i( *(hex + i) );  
                bits = (len - i - 1) * 4;  
                temp = temp << bits;  
                num = num | temp;  
        }  
        return num;  
}  
  
  
int main(int argc, char *argv[])  
{  
        char ch[10] = {0};  
        strcpy(ch, "1de");  
        printf("hex:%d\n", hex2dec(ch));  
        return 0;  
} [/mw_shl_code]
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2017-8-24
在线时间
6 小时
 楼主| 发表于 2017-10-20 14:40:08 | 显示全部楼层
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 23:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表