16进制转10进制

Posted xiaokang01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16进制转10进制相关的知识,希望对你有一定的参考价值。

给出一个16进制,转换成10进制数

如:“F4”  --> 244

16进制转换成10进制:A-F对应10-15

F4 = 15*16^1 + 4*16^0 = 244

主要是将字符转换成数字

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<math.h>

int hex_to_dec(char *a)
{
    int len = strlen(a);
    int sum = 0;
    for (int i = 0;i < len;i++)
    {
        if(a[i] >= A && a[i] <= F)
        {
            a[i] = int(a[i] - A) + 10 + 0;
        }
        if(a[i] >= a && a[i] <= f)
        {
            a[i] = int (a[i] - a) + 10 + 0;
        }
        //pow(16.0,2)16的2次方
        sum += (a[i] - 0) * (pow(16.0,len - 1 - i));
    }
    return sum;
}
int main()
{
    char a[10];
    scanf("%s",&a);
    printf("%d
",hex_to_dec(a));
}

 

以上是关于16进制转10进制的主要内容,如果未能解决你的问题,请参考以下文章

c语言16进制转换为10进制数的函数是啥?

求一个10进制转十六进制的vb代码,要支持非常大的数的(30位)

Delphi - 10进制16进制相互转换

求16进制转10进制;BYTE的算法

16进制转10进制和2进制

python怎样将16进制转化为2进制