易截截图软件、单文件、免安装、纯绿色、仅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程序:判断链表是否有环

/*
这是个常见的面试题哦,总之我面试的时候遇到过, 当时没有答上来
回去后想出来下面的方法一,该法还有个附加优点,可以判断出链表在哪个地方形成环的(即如果想拆开这个环,从哪个地方断开)。
后来知道还有个经典算法,即使用两个指针,一快一慢向前试探,如果最终重合则链表有环,果然优美的算法。
*/
#inc ......

C程序:定义宏打印某位域共有多少位

#include <stdio.h>
#define bits(p, d) { \
int _tmp=p->d, _bits=0; \
for (p->d=1; p->d; p->d<<=1) \
_bits++; \
p->d=_tmp; \
printf("%s->%s has %d bits", #p, #d, _bits); \
}
typedef struct _s{
int a:4;
} S;
int main()
{
S tmp, ......

规范化的C++编程方法备忘录 C/C++算数运算:

    已经知道的,不说了...大家都知道的,可以问问,查查资料。这里又放些附加建议:
1.基本算数运算:
  既然计算机里没有真正的整数,那么计算机里也没有真正的算数运算。
    取值范围:
  设a和b是两个占一样位宽的无符号整数,这种整数可取到最大值M ......

神话系列之一 C 程序不能反编译

 网上流传很多C和C# 神话
 我听了以后,决定打破这些美丽的神话。。给大家开开眼界,更希望能说明一个神话,。,,
解开我 最神秘的等待 
C
程序怎样反编译成
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号