易截截图软件、单文件、免安装、纯绿色、仅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" ......

.NET C/S(WinForm)开发技巧点滴

花费了十天时间,为公司开发了一套简单的网络版的信息管理系统,功能主要有客户信息管理,员工信息管理,常用信息管理(各种信函打印、常用网址/常用电话等),公司简单的财务管理等。把一些点点滴滴的技巧在此记录下来,以备查用。
1.数据绑定。 DataReader 读取数据,用DataTable.Load(IDataReader)方法将数据加载到 DataTable ......

C 语言二维数组和双重指针

#include "Stdio.h"
#include "Conio.h"
#include
#define size 81
#define lim 5
#define tstr "ABCDEFGH"
void display(char **p,int i);
void display2(char *p[],int i);
void display3(char (*p)[40],int i);
void testint();
int main(void)
{
testint();
getch();
return 0;
}
test1() ......

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号