(C语言实现)IDE:dev c++
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
char HexNumber[20] = {0}; //此数组用于存储读入的十六进制数
scanf("%s",&HexNumber);
int i,DigitalLength;
DigitalLength = strlen(HexNumber); //计算读入字符串长度
long long DecNumber=0; //用于存放转换后的十进制数
for(i = 0 ;i < DigitalLength;i++)
{
if(HexNumber[i] >= '0' && HexNumber[i] <= '9') //若数位上的字符是0-9之间的数
DecNumber += (HexNumber[i] - '0')*pow(16 ,DigitalLength - 1 - i); //则直接让该数字乘以16的 次 方
else
DecNumber += (HexNumber[i] - 'A' + 10)*pow(16 ,DigitalLength - 1 - i); //若数位上为ABCDEF,则利用 ASCII码换 算成 十 进 制 再乘 以16的 次方
}
printf("%lld\n",DecNumber);
return 0;
}
如果这段代码对您有帮助,希望您可以给猿猿一个赞,谢谢您嘞,code不易,且看且珍惜。
版权声明:本文为weixin_45437022原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。