C语言教程
C语言控制语句
C语言函数
C语言数组
C语言指针
C语言字符串
C语言数学函数
C语言结构
C语言文件处理
C预处理器

C语言十六进制转换十进制

C中的十六进制到十进制

什么是十六进制?

十六进制也被称为以16为底的十六进制,它是一个数字使用16个符号表示特定值的系统,这些符号来自(0-9和AF)。

什么是十进制?

十进制是表示整数和非整数的数字系统。此数字系统也称为以10为底的系统,它使用(0-9)中的10个符号表示特定值。
十六进制到二进制的转换数字
我们知道十六进制数包含16个符号,即0、1、2、3、4、5、6、7、8、9,A,B,C,D ,E,F其中A,B,C,D,E,F表示(10,11,12,13,14,15)个值。我们可以通过从十六进制数字中提取数字,然后从数字的最右边的数字开始来找到十进制数字。十六进制数字的每个数字都与基数16相乘。我们将相乘的结果存储在特定变量中。
让我们通过一个例子来理解。
如果十六进制数为5A,则其十进制值为:
十进制值 = 5 * 16 1 + 10 * 16 0
,现在= 90
现在,我们已经了解了将十六进制数字转换为十进制数字的方式:
从C的十六进制到十进制> </div>在上图中,我们将 2AB 视为十六进制数字,并计算了其十进制值。</div> <div class= 2AB(十六进制值)= 2 * 16 2 + 10 * 16 1, + 11 * 16 0
= 683(十进制值)
让我们了解一下该程序。
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
    char hex[17];                        // declaration of character array.
    long long decimal, place;
    int i = 0, val, len;                  // variables declaration
    decimal = 0;
   /* Input hexadecimal number from user */
    printf("Enter any hexadecimal number: ");
    gets(hex);
/* Find the length of total number of hex digit */
    len = strlen(hex);
    len--;
    /*
     * Iterate over each hex digit
     */
    while(hex[i]!='\0')
    {
 
        /* To find the decimal representation of hex[i] */
        if(hex[i]>='0' && hex[i]<='9')
        {
            val = hex[i]-48;
        }
        else if(hex[i]>='a' && hex[i]<='f')
        {
            val = hex[i]-97 + 10;
        }
        else if(hex[i]>='A' && hex[i]<='F')
        {
            val = hex[i]-65 + 10;
        }
        decimal += val * pow(16, len);
在上面的程序中,我们找到给定十六进制数的十进制数。在上述情况下,我们从用户处获取输入并将其值存储在十六进制变量中。从用户检索输入后,我们计算输入的长度并将其存储在 len 变量中。我们已经迭代了十六进制数字的每个数字,并将最终结果存储在十进制值变量
输出
在C中将十六进制转换为十进制
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4