Dado un número hexadecimal como entrada, necesitamos escribir un programa para convertir el número hexadecimal dado en su número decimal equivalente.
Ejemplos:
Input : 67 Output: 103 Input : 512 Output: 1298 Input : 123 Output: 291
Sabemos que un número hexadecimal usa 16 símbolos {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} para representar todos los números. Aquí, (A, B, C, D, E, F) representa (10, 11, 12, 13, 14, 15).
La idea es restar los dígitos de un número hexadecimal dado del dígito correcto y mantener el valor de una dec_variable. En el momento en que se eliminen los dígitos del número hexadecimal, multiplique el dígito por la base adecuada (potencia de 16) y agréguelo a la variable dec_value. Finalmente, la variable dec_value almacenará el número decimal requerido.
Por ejemplo: si el número hexadecimal es 1A.
valor_dec = 1*(16^1) + 10*(16^0) = 26
El siguiente diagrama explica cómo convertir un número hexadecimal (1AB) a un valor decimal equivalente:
A continuación se muestra la implementación de la idea anterior.
C++
// C++ program to convert hexadecimal to decimal #include <bits/stdc++.h> using namespace std; // Function to convert hexadecimal to decimal int hexadecimalToDecimal(string hexVal) { int len = hexVal.size(); // 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[i] >= '0' && hexVal[i] <= '9' ) { dec_val += ( int (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 += ( int (hexVal[i]) - 55) * base; // incrementing base by power base = base * 16; } } return dec_val; } // driver program int main() { string hexNum = "1A" ; cout << (hexadecimalToDecimal(hexNum)); // This code is contributed by rakeshsahni return 0; } |
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
<?php // PHP program to convert // hexadecimal to decimal // Function to convert // hexadecimal to decimal function hexadecimalToDecimal( $hexVal ) { $len = strlen ( $hexVal ); // Initializing base value // to 1, i.e 16^0 $base = 1; $dec_val = 0; // Extracting characters as // digits from last character for ( $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 += (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
<script> // javascript program to convert hexadecimal to decimal // Function to convert hexadecimal to decimal function hexadecimalToDecimal(hexVal) { var len = hexVal.length; // Initializing base value to 1, i.e 16^0 var base = 1; var dec_val = 0; // Extracting characters as digits from last // character for ( var 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).charCodeAt(0) - 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).charCodeAt(0) - 55) * base; // incrementing base by power base = base * 16; } } return dec_val; } // driver program var hexNum = "1A" ; document.write(hexadecimalToDecimal(hexNum)); // This code is contributed by 29AjayKumar </script> |
26
Uso de una función predefinida
C++
// C++ program to convert octal to decimal #include <bits/stdc++.h> using namespace std; int HexToDec(string n) { return stoi(n, 0, 16); } int main() { string n = "1A" ; cout << HexToDec(n); return 0; } // This code is contributed by rakeshsahni |
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
<script> // javascript program to convert octal to decimal function HexToDec(n) { return parseInt(n, 16); } var n = "1A" ; document.write(HexToDec(n)); // This code is contributed by 29AjayKumar </script> |
26
Este artículo ha sido agregado agarwal duro. Si te gusta GeeksforGeeks y quieres contribuir, también puedes escribir un artículo usándolo. escribir.geeksforgeeks.org o envíe su artículo por correo a review-team@geeksforgeeks.org. Vea su artículo destacado en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba un comentario si encuentra algún problema o si desea compartir más información sobre el tema tratado anteriormente.