把十六进制字符串转换为数字的几个C语言版本 - Graphics的专栏
来源:百度文库 编辑:神马文学网 时间:2024/06/05 07:32:37
无人评价本文。 需要 登录 才可以评价。
netex 发表于2005-10-12 1:20 PM
第二个版本效率太低了。写个效率高的:
typedef unsigned int UINT;
typedef unsigned char UCHAR;
static UCHAR a2xtable[] =
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0,
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
UINT atox(const char* s)
{
UINT res = 0;
while (*s)
{
res = (res << 4) | a2xtable[*s++];
}
return res;
}
netex 发表于2005-10-12 1:20 PM
第二个版本效率太低了。写个效率高的:
typedef unsigned int UINT;
typedef unsigned char UCHAR;
static UCHAR a2xtable[] =
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0,
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
UINT atox(const char* s)
{
UINT res = 0;
while (*s)
{
res = (res << 4) | a2xtable[*s++];
}
return res;
}
把十六进制字符串转换为数字的几个C语言版本 - Graphics的专栏
刚刚在《指针与C》上看见一句代码,把十进制数转换为十六进制的符号输出:
C语言字符串函数大全 - amossavez的专栏 - CSDN博客
vc 浮点数转换为内存十六进制字符串
字符串转换为数值的库函数
十进制转换为二进制的方法(同理八进制、十六进制转换为二进制的方法)
字符串的转换
C语言中操作字符串的一些函数源码
数字转换成字符串库函数
C语言中操作字符串的一些函数源代码 - C/C++ - 编程开发 - 破釜沉舟: 源码下载...
漫谈.NET开发中的字符串编码 - bitfan(数字世界一凡人)的专栏 - CSDN博客
C语言宏的学习: - henry19850318的专栏 - CSDN博客
C语言宏的学习: - henry19850318的专栏 - CSDN博客
C语言字符串函数大全
C语言字符串函数大全
c语言词法分析器 - fertiland的专栏 - CSDNBlog
C语言测试题的讲解分析 - 张孝祥专栏 - CSDNBlog
gcc编译c语言中内嵌汇编 - fifan的专栏 - CSDNBlog
C语言中几个常用的函数总结[转]
C语言中几个常用的函数总结[转]
《少年游》的几个版本
Excel将文本转换为数字的七种方法
十六进制单精度浮点数转换成十进制数的代码
有趣的数字语言