Chinaunix首页 | 论坛 | 博客
  • 博客访问: 427575
  • 博文数量: 71
  • 博客积分: 26
  • 博客等级: 民兵
  • 技术积分: 1246
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 14:46
个人简介

linux --- 一切皆文件

文章分类

全部博文(71)

文章存档

2021年(1)

2019年(2)

2018年(4)

2017年(7)

2016年(11)

2015年(1)

2014年(2)

2013年(33)

2012年(10)

分类: C/C++

2013-05-18 23:17:54

十六进制转换等值的整型值:


#define YES 1
#define NO 0

int htos(int s[])
{
    int hexdigit,n,i,inhex;
    i = 0;
    if(s[i] == 0){
        i ++;
        if(s[i] == 'x' || s[i] == 'X'){
            i ++;
        }
    }
    
    n = 0;
    inhex = YES;
    for(;inhex == YES;i ++){
        if(s[i] => '0' && s[i] <= 9){
            hexdigit = s[i] - '0';
        }else if(s[i] >= 'a' && s[i] <= 'f'){
            hexdigit = s[i] - 'a' + 10;
        }else if(s[i] >= 'A' && s[i] <= 'F'){
            hexdigit = s[i] - 'A' +10;
        }else{
            inhex = NO;
        }
        if(inhex == YES){
            n = n * 16 + hexdigit;
        }
    }
    return n;
}
阅读(1044) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~