问题1:讲一个十进制数字的字符串表示转换成对应的整数。举例:将“1234”转换成整数1234.
/*将字符串s转换成相应的整数*/
int atoi(char s[])
{
int i;
int n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
{
n = 10 * n + (s[i] - '0');
}
return n;
}
问题2:将一个十六进制数的字符串表示形式转换成对应的整数。所谓的十六进制数的字符串形式是指字符串只包含'0'-'9'或者'a'-'z'或者'A'-'Z',前导“0x”或者“0X”是否出现都可以。
要解决这个问题,还需要一个将大写字母转换成小写字母的工具函数:
/*将大写字母转换成小写字母*/
int tolower(int c)
{
if (c >= 'A' && c <= 'Z')
{
return c + 'a' - 'A';
}
else
{
return c;
}
}
下面是转换函数:
//将十六进制的字符串转换成整数
int htoi(char s[])
{
int i;
int n = 0;
if (s[0] == '0' && (s[1]=='x' || s[1]=='X'))
{
i = 2;
}
else
{
i = 0;
}
for (; (s[i] >= '0' && s[i] <= '9') || (s[i] >= 'a' && s[i] <= 'z') || (s[i] >='A' && s[i] <= 'Z');++i)
{
if (tolower(s[i]) > '9')
{
n = 16 * n + (10 + tolower(s[i]) - 'a');
}
else
{
n = 16 * n + (tolower(s[i]) - '0');
}
}
return n;
}
分享到:
相关推荐
C语言,实现进制转换,十进制转换为十六进制 例如输入10,转换结果为a
C语言二进制字符串与十六进制字符串相互转化,利用MFC框架生成小工具。
STM32十六进制字符串转十进制数值STM32十六进制字符串转十进制数值STM32十六进制字符串转十进制数值
C语言实现十进制转换成二八十六进制的转换,代码已经经过调试可以使用,放心下载!
c语言编程题:从键盘输入一个十进制数,将其转换为二进制、八进制和十六进制数,并同时输出。
C语言实现进制转换
C语言-顺序栈实现十进制转换为二进制-八进制-十六进制
c语言 进制转换 十进制 二进制 八进制 十六进制
Linux下用C语言将一个字符串格式(char*)的MAC地址转换为十六进制数组,代码简洁可直接使用
主要介绍了C语言字符串转换为Python字符串的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
网络十进制转换成点分十进制,4字节的十进制转换为IPV4的点分十进制--C语言实现
C语言编程实现十进制转化为十六进制,在VC6.0中可顺利实现
将16进制的字符串转成10进制的int类型,可以直接使用
C语言实现二进制向八进制和十六进制转换 二进制转换成十进制 再将十进制转换成R进制
/*int “5264”转换成 “0x52 0x64 ”*/ /*16进制“0x5264” 转换成 int “5264” */ 上位机 串口通信
1、本文详细描述了c语言实现字符串转换成十进制整数的方法。 2、通过详细示例,让读者更直观地阅读,更清晰的理解。 3、示例代码可直接复制,编译后可直接运行。 4、根据示例以及运行结果,让读者加强记忆及理解...
c语言基础 c语言基础_c语言编程基础之字符串操作示例_数字转换成十六进制数
纯C语言实现字符串拆分操作,把字符串拆分成字符串数组,然后再输出。 使用sstream方法,作为底层驱动操作实现非常方便。
C语言实现十进制转换到二进制、八进制、十六进制
C语言十进制转十六进制、十六进制转十进制、通过C语言代码来生成一组数据,通过不同的公式可生成不同大小和相位的正弦波数据。并通过串口将生成的数据打印出来。