将十六进制的字符串转换为十进制
2014-10-01 14:24
253 查看
/* 将16进制的数按字符串形式输入,*
* 然后按十进制形式输出。 */
#include <stdio.h>
#include <string.h>
#include <math.h>
#define LEN 10
int SixteenToTen(char *sixteenStr); // 用于将十六进制数的字符串转换为十进制数
int main()
{
char sixteenStr[10];
int tenNumber;
printf("输入表示十六进制的字符串: ");
gets(sixteenStr);
tenNumber = SixteenToTen(sixteenStr);
printf("输出转换后的十进制数: %d\n",tenNumber);
}
int SixteenToTen(char *sixteenStr)
{
int i, tenNumber = 0, n;
int len; // 用于存放字符串的长度
len = strlen(sixteenStr);
for (i = 0; *(sixteenStr+i) != '\0'; i++)
{
if ( *(sixteenStr+i) >= 'A' && *(sixteenStr+i) <= 'F' )
{
n = *(sixteenStr+i) - 'A'+10;
}
else if ( *(sixteenStr+i) >= 'a' )
{
n = *(sixteenStr+i) - 'a' + 10;
}
else
{
n = *(sixteenStr+i) - '0';
}
tenNumber += n*pow(16,--len);
}
return tenNumber;
}
* 然后按十进制形式输出。 */
#include <stdio.h>
#include <string.h>
#include <math.h>
#define LEN 10
int SixteenToTen(char *sixteenStr); // 用于将十六进制数的字符串转换为十进制数
int main()
{
char sixteenStr[10];
int tenNumber;
printf("输入表示十六进制的字符串: ");
gets(sixteenStr);
tenNumber = SixteenToTen(sixteenStr);
printf("输出转换后的十进制数: %d\n",tenNumber);
}
int SixteenToTen(char *sixteenStr)
{
int i, tenNumber = 0, n;
int len; // 用于存放字符串的长度
len = strlen(sixteenStr);
for (i = 0; *(sixteenStr+i) != '\0'; i++)
{
if ( *(sixteenStr+i) >= 'A' && *(sixteenStr+i) <= 'F' )
{
n = *(sixteenStr+i) - 'A'+10;
}
else if ( *(sixteenStr+i) >= 'a' )
{
n = *(sixteenStr+i) - 'a' + 10;
}
else
{
n = *(sixteenStr+i) - '0';
}
tenNumber += n*pow(16,--len);
}
return tenNumber;
}
相关文章推荐
- VC中 十六进制字符串转换为十进制数字
- 将一个十六进制字符串转换为十进制数值的问题
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言将字符串转换成对应的数字(十进制、十六进制)
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- VC中 十六进制字符串转换为十进制数字
- 将一个十六进制“字符串”转换为十进制数值的问题
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言将字符串转换成对应的数字(十进制、十六进制)
- 一个把十六进制字符串转换为十进制数字的函数
- C语言将字符串转换成对应的数字(十进制、十六进制)
- VC中 十六进制字符串转换为十进制数字
- c++常用函数之 十六进制字符串转换为十进制
- 将一个十六进制字符串转换为十进制数值的问题
- 将一个十六进制字符串转换为十进制数值的问题
- VC中 十六进制字符串转换为十进制数字
- 将十六进制的字符串转换为十进制
- VC中 十六进制字符串转换为十进制数字 转
- .NET 关于字符串的十六进制转换为十进制 十进制转换为十六进制字符串的简单方法
- 将一个十六进制字符串转换为十进制数值的问题