/* 将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;
}
将十六进制的字符串转换为十进制
最新推荐文章于 2023-03-12 15:19:35 发布