易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++: 十六进制转10进制源码 收藏

C/C++: 十六进制转10进制源码
收藏



view plain
copy to clipboard
print
?
int
 hex_char_value(
char
 c)  
{  
    if
(c >= 
'0'
 && c <= 
'9'
)  
        return
 c - 
'0'
;  
    else
 
if
(c >= 
'a'
 && c <= 
'f'
)  
        return
 (c - 
'a'
 + 10);  
    else
 
if
(c >= 
'A'
 && c <= 
'F'
)  
        return
 (c - 
'A'
 + 10);  
    assert(0);  
    return
 0;  
}  
int
 hex_to_decimal(
const
 
char
* szHex, 
int
 len)  
{  
    int
 result = 0;  
    for
(
int
 i = 0; i < len; i++)  
    {  
        result += (int
)pow((
float
)16, (
int
)len-i-1) * hex_char_value(szHex[i]);  
    }  
    return
 result;  
}  
int hex_char_value(char c)
{
if(c >= '0' && c <= '9')
return c - '0';
else if(c >= 'a' && c <= 'f')
return (c - 'a' + 10);
else if(c >= 'A' && c <= 'F')
return (c - 'A' + 10);
assert(0);
return 0;
}
int hex_to_decimal(const char* szHex, int len)
{
int result = 0;
fo


相关文档:

C程序:确定一个整数的计算机内部表示中有几个"1"

/*
注意不断右移判断最低位是1有多少个的算法是错误的,
因为根据GNU C/C++的实现来看,负数是带符号填充进行右移的,所以如果是负数,该算法会死循环。
变通办法:Java可以用>>>逻辑右移位操作符,C/C++可以强制转换成无符号整数再处理
下面的程序是正解。其中num &= (num - 1) 会消除num的最小位置的"1" ......

S3C2410 Nand Flash控制器

    访问Nand Flash时需要先发出命令,然后发出地址序列,最后读/写数据;
    需要使用各个信号来分辨命令、地址、数据;
    S3C2410 的Nand  Flash控制器 提供了相关寄存器来简化这些操作:
           & ......

C/C++中的宏


宏定义了一个代表特定内容的标识符。预处理过程会把源代码中出现的宏标识符替换成宏定义时的值。宏
最常见的用法是定义代表某个值的全局符号。宏的第二种用法是定义带参数的宏,这样的宏可以象函数一样
被调用,但它是在调用语句处展开宏,并用调用时的实际参数来代替定义中的形式参数。
1.#define指令
#define预处理 ......

C/C++变量分析


BSS
未初始化的数据
DATA
初始化的数据
TEXT(code)
代码
 
      在C中有全局、局部(自动变量)和静态变量。
全局变量在C语言里表示时,在函数之外的就是全局变量,即在函数外所申明的变量;而静态变量可以放在函数外,也可以放在函数内。全局变量有两个作用:第一,当在函数外申 ......

C/C++文件操作

在C++中,可以使用多种方法对文件进行操作,如基于C的文件操作、基于C++的文件操作等等;
◆基于C的文件操作
在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。
一.流式文件操作
这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:
 typedef struct {
i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号