写一个函数,输入一个十六进制数,输出相应的十进制数(C语言)
题目要求:如标题
思路:
- 十六进制数为:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
- 比如0xFF=1516ˆ1+1516ˆ0=255,0xAB=1016ˆ1+1116ˆ0=171
- 设定length=strlen(str)-1,term为每一项的值。同时设定i,令i=0;i<=length;i++
- a为相应的十六进制数转为十进制数的乘数,即(0~15)
- 此时需要用到pow函数,则term=a*pow(16,length-i),最后把term叠加即可
以下是具体代码:
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
void hexadecimal_decimal(char str