//7.16 16进制转为10进制
//16进制数转化为10进制,从后往前乘以16^0,16^1,以此类推,各数相加
//用字符形式存储
//将字符型转为数字型
//次方用16的叠成
int tran(char a[])
{
int i = 0;
int n=0;//转为数字,要用n存储这个数!
while (a[i])
{
if (a[i] >= 'A' && a[i] <= 'Z')
n = n * 16 + a[i] - 'A' + 10;
else if (a[i] >= 'a' && a[i] <= 'z')
n = n * 16 + a[i] - 'a' + 10;
else if (a[i] >= '0' && a[i] <= '9')
n = n * 16 + a[i]-'0';//是数字时,乘以16,并应注意转成数字!
i++;
}
return n;
}
#include<stdio.h>
int main()
{
char a[128] = { 0 };
printf("输入16进制数字:");
gets(a);
printf("0x%s转为10进制的数为:%d",a, tran(a));
return 0;
}
7.16 将字符串转为数字 16进制数转为10进制数
最新推荐文章于 2024-07-05 16:39:39 发布