十六进制转换为十进制
来源:互联网 发布:网络教学平台建设方案 编辑:程序博客网 时间:2024/05/02 02:56
用C语言编写函数htoi(s),把由十六进制组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值:
int htoi(const char *s)
{
if( !s )return 0;
if( *s == '0' )
{
s++;
if( *s == 'x' || *s == 'X' )s++;
}
int n = 0;
while( *s )
{
n <<= 4;
if( *s <= '9' )
n |= ( *s & 0xf );
else
n |= ( (*s & 0xf) + 9 );
s++;
}
return n;
}
int main(int argc, char* argv[])
{
printf("%x\n", htoi("0xa"));
printf("%x\n", htoi("0xab"));
printf("%x\n", htoi("0xabc"));
printf("%x\n", htoi("0x0a0b"));
printf("%x\n", htoi("a"));
printf("%x\n", htoi("ab"));
printf("%x\n", htoi("abc"));
printf("%x\n", htoi("12ab"));
return 0;
}
{
if( !s )return 0;
if( *s == '0' )
{
s++;
if( *s == 'x' || *s == 'X' )s++;
}
int n = 0;
while( *s )
{
n <<= 4;
if( *s <= '9' )
n |= ( *s & 0xf );
else
n |= ( (*s & 0xf) + 9 );
s++;
}
return n;
}
int main(int argc, char* argv[])
{
printf("%x\n", htoi("0xa"));
printf("%x\n", htoi("0xab"));
printf("%x\n", htoi("0xabc"));
printf("%x\n", htoi("0x0a0b"));
printf("%x\n", htoi("a"));
printf("%x\n", htoi("ab"));
printf("%x\n", htoi("abc"));
printf("%x\n", htoi("12ab"));
return 0;
}
- 十进制转换为十六进制
- 十六进制转换为十进制
- 十进制转换为十六进制
- 十进制转换为十六进制
- 十六进制转换为十进制
- 十六进制转换为十进制
- 十六进制转换为十进制
- 十进制转换为十六进制
- 十进制转换为十六进制
- 十六进制转换为十进制
- 十六进制转换为十进制
- 十六进制转换为十进制
- 十进制转换为十六进制
- 十进制转换为十六进制
- 十六进制转换为十进制
- 十进制转换为十六进制
- 十进制转换为十六进制
- 十进制转换为十六进制
- 面向对象基本特征
- ssh实现log4j
- Best Reward +拓展KMP
- spring注解学习资料
- 关于struts2复选框的问题
- 十六进制转换为十进制
- python复制excel
- 获得和裁剪图片
- 查看表空间
- EhCache使用详细介绍
- 一些可以查询IP地理位置、身份证所在地、手机归属地的接口
- 滑雪
- dbcompare---数据库结构比较工具
- oracle 索引整理