📜  十六进制到十进制的程序

📅  最后修改于: 2021-06-28 15:11:07             🧑  作者: Mango

给定一个十六进制数作为输入,我们需要编写一个程序将给定的十六进制数转换为等效的十进制数。

例子:

Input : 67
Output: 103

Input : 512
Output: 1298

Input : 123
Output: 291

我们知道十六进制数字使用16个符号{0、1、2、4、5、6、7、8、9,A,B,C,D,E,F}表示所有数字。在此,(A,B,C,D,E,F)表示(10、11、12、13、14、15)。

这个想法是从最右边的数字开始提取给定十六进制数字的数字,并保留变量dec_value。从十六进制数字中提取数字时,将数字乘以适当的底数(16的幂),然后将其添加到变量dec_value中。最后,变量dec_value将存储所需的十进制数字。

例如:如果十六进制数为1A。
dec_value = 1 *(16 ^ 1)+ 10 *(16 ^ 0)= 26

下图说明了如何将十六进制数(1AB)转换为等效的十进制值:

以下是上述想法的实现。

Java
// Java program to convert hexadecimal to decimal
import java.io.*;
 
class GFG {
    // Function to convert hexadecimal to decimal
    static int hexadecimalToDecimal(String hexVal)
    {
        int len = hexVal.length();
 
        // Initializing base value to 1, i.e 16^0
        int base = 1;
 
        int dec_val = 0;
 
        // Extracting characters as digits from last
        // character
        for (int i = len - 1; i >= 0; i--) {
            // if character lies in '0'-'9', converting
            // it to integral 0-9 by subtracting 48 from
            // ASCII value
            if (hexVal.charAt(i) >= '0'
                && hexVal.charAt(i) <= '9') {
                dec_val += (hexVal.charAt(i) - 48) * base;
 
                // incrementing base by power
                base = base * 16;
            }
 
            // if character lies in 'A'-'F' , converting
            // it to integral 10 - 15 by subtracting 55
            // from ASCII value
            else if (hexVal.charAt(i) >= 'A'
                     && hexVal.charAt(i) <= 'F') {
                dec_val += (hexVal.charAt(i) - 55) * base;
 
                // incrementing base by power
                base = base * 16;
            }
        }
        return dec_val;
    }
 
    // driver program
    public static void main(String[] args)
    {
        String hexNum = "1A";
        System.out.println(hexadecimalToDecimal(hexNum));
    }
}


Python3
# Python3 program to convert
# hexadecimal to decimal
 
# Function to convert hexadecimal
# to decimal
 
 
def hexadecimalToDecimal(hexval):
 
    # Finding length
    length = len(hexval)
 
    # Initialize base value to 1,
    # i.e. 16*0
    base = 1
    dec_val = 0
 
    # Extracting characters as digits
    # from last character
    for i in range(length - 1, -1, -1):
 
        # If character lies in '0'-'9',
        # converting it to integral 0-9
        # by subtracting 48 from ASCII value
        if hexval[i] >= '0' and hexval[i] <= '9':
            dec_val += (ord(hexval[i]) - 48) * base
 
            # Incrementing base by power
            base = base * 16
 
        # If character lies in 'A'-'F',converting
        # it to integral 10-15 by subtracting 55
        # from ASCII value
        elif hexval[i] >= 'A' and hexval[i] <= 'F':
            dec_val += (ord(hexval[i]) - 55) * base
 
            # Incrementing base by power
            base = base * 16
 
    return dec_val
 
 
# Driver code
if __name__ == '__main__':
 
    hexnum = '1A'
 
    print(hexadecimalToDecimal(hexnum))
 
# This code is contributed by virusbuddah_


C#
// C# program to convert
// hexadecimal to decimal
using System;
 
class GFG {
    // Function to convert
    // hexadecimal to decimal
    static int hexadecimalToDecimal(String hexVal)
    {
        int len = hexVal.Length;
 
        // Initializing base1 value
        // to 1, i.e 16^0
        int base1 = 1;
 
        int dec_val = 0;
 
        // Extracting characters as
        // digits from last character
        for (int i = len - 1; i >= 0; i--) {
            // if character lies in '0'-'9',
            // converting it to integral 0-9
            // by subtracting 48 from ASCII value
            if (hexVal[i] >= '0' && hexVal[i] <= '9') {
                dec_val += (hexVal[i] - 48) * base1;
 
                // incrementing base1 by power
                base1 = base1 * 16;
            }
 
            // if character lies in 'A'-'F' ,
            // converting it to integral
            // 10 - 15 by subtracting 55
            // from ASCII value
            else if (hexVal[i] >= 'A' && hexVal[i] <= 'F') {
                dec_val += (hexVal[i] - 55) * base1;
 
                // incrementing base1 by power
                base1 = base1 * 16;
            }
        }
        return dec_val;
    }
 
    // Driver Code
    static void Main()
    {
        String hexNum = "1A";
        Console.WriteLine(hexadecimalToDecimal(hexNum));
    }
}
 
// This code is contributed by mits


PHP
= 0; $i--)
    {
        // if character lies in '0'-'9',
        // converting it to integral 0-9
        // by subtracting 48 from ASCII value.
        if ($hexVal[$i] >= '0' &&
            $hexVal[$i] <= '9')
        {
            $dec_val += (ord($hexVal[$i]) - 48) *
                                         $base;
                 
            // incrementing base by power
            $base = $base * 16;
        }
 
        // if character lies in 'A'-'F' , 
        // converting it to integral
        // 10 - 15 by subtracting 55
        // from ASCII value
        else if ($hexVal[$i] >= 'A' &&
                 $hexVal[$i] <= 'F')
        {
            $dec_val += (ord($hexVal[$i]) - 55) *
                                         $base;
         
            // incrementing base by power
            $base = $base * 16;
        }
    }
     
    return $dec_val;
}
 
// Driver Code
$hexNum = "1A";
echo hexadecimalToDecimal($hexNum);
 
// This code is contributed by mits
?>


Javascript


Java
// Java program to convert hexadecimal to decimal
 
import java.io.*;
 
class GFG {
    public static int HexToDec(String n)
    {
        return Integer.parseInt(n, 16);
    }
    public static void main(String[] args)
    {
        String n = "1A";
        System.out.println(HexToDec(n));
    }
}


Python3
# Python program to convert hexadecimal to decimal
def HexToDec(n):
    return int(n, 16);
 
if __name__ == '__main__':
    n = "1A";
    print(HexToDec(n));
     
# This code is contributed by 29AjayKumar


C#
// C# program to convert hexadecimal to decimal
 
using System;
 
public class GFG {
    public static int HexToDec(String n)
    {
        return Convert.ToInt32(n, 16);
    }
    public static void Main(String[] args)
    {
        String n = "1A";
        Console.WriteLine(HexToDec(n));
    }
}
 
// This code is contributed by Amit Katiyar


Javascript


输出
26

使用预定义函数

Java

// Java program to convert hexadecimal to decimal
 
import java.io.*;
 
class GFG {
    public static int HexToDec(String n)
    {
        return Integer.parseInt(n, 16);
    }
    public static void main(String[] args)
    {
        String n = "1A";
        System.out.println(HexToDec(n));
    }
}

Python3

# Python program to convert hexadecimal to decimal
def HexToDec(n):
    return int(n, 16);
 
if __name__ == '__main__':
    n = "1A";
    print(HexToDec(n));
     
# This code is contributed by 29AjayKumar

C#

// C# program to convert hexadecimal to decimal
 
using System;
 
public class GFG {
    public static int HexToDec(String n)
    {
        return Convert.ToInt32(n, 16);
    }
    public static void Main(String[] args)
    {
        String n = "1A";
        Console.WriteLine(HexToDec(n));
    }
}
 
// This code is contributed by Amit Katiyar

Java脚本


输出
26