编一个程序,输入十六进制的数,输出相应的十进制数

2024年12月01日 09:43
有2个网友回答
网友(1):

#include "stdio.h"
main()
{
char a[8];
int i=0;
unsigned long nResult=0;
for(i=0;i<8;i++)
a[i]='\0';
::scanf("%s",&a);
for(i=0;i<8;i++)
{
if(a[i]=='\0')
break;

nResult*=16;
if(a[i]>='0'&&a[i]<='9')
{
nResult+=(a[i]-'0');
}
else if(a[i]>='A'&&a[i]<='F')
{
nResult+=(a[i]-'A'+10);
}
else if(a[i]>='a'&&a[i]<='f')
{
nResult+=(a[i]-'a'+10);
}
else
{
::printf("输入的数据不合法!\r\n");
break;
}
}

::printf("%ld",nResult);
}

网友(2):

可不可以再提供一下解释?就是解释一下重要步骤,因为我不是这个专业的,只是外行。