Programa C++ para convertir números decimales a números hexadecimales
- Escriba un programa en C++ para convertir números decimales a hexadecimales.
- Escriba un programa en C++ para convertir números hexadecimales a decimales.
En estos programas de C++ aprenderemos sobre los fundamentos del sistema numérico decimal y hexadecimal, cómo convertir números decimales a números hexadecimales y viceversa. Dado un número decimal tenemos que convertirlo a número hexadecimal.
Número decimal es un sistema numérico de base 10 que utiliza los dígitos 0 y 9, mientras que Número hexadecimal es un sistema numérico base 16 y utiliza dígitos del 0 al 9 y de la A a la F. Por ejemplo:2016 en decimal es equivalente a 7E0 en el sistema numérico hexadecimal.
Programa en C++ para convertir números decimales a números hexadecimales
// C++ program to convert decimal numbers to hexadecimal numbers #include <iostream> #include <cstring> using namespace std; #define BASE_16 16 int main() { char hexDigits[] = "0123456789ABCDEF"; long decimal; char hexadecimal[40]; int index, remaindar; // Take a Decimal Number as input form user cout << "Enter a Decimal Number\n"; cin >> decimal; index = 0; // Convert Decimal Number to Hexadecimal Numbers while(decimal != 0) { remaindar = decimal % BASE_16; hexadecimal[index] = hexDigits[remaindar]; decimal /= BASE_16; index++; } hexadecimal[index] = '\0'; strrev(hexadecimal); cout << "Hexadecimal Number : " << hexadecimal; return 0; }Salida
Enter a Decimal Number 753 Hexadecimal Number : 2F1
Enter a Decimal Number 101 Hexadecimal Number : 3F2
En el programa anterior, primero declaramos una cadena hexDigits que contiene todos los dígitos del sistema numérico hexadecimal (0-9 y A-F). Como los números hexadecimales contienen alfabetos como dígitos, tenemos que usar una matriz de caracteres para almacenar números hexadecimales.
Programa C++ para convertir número hexadecimal a número decimal
// C++ program to convert decimal numbers to hexadecimal numbers #include <iostream> #include <cstring> #include <cmath> using namespace std; int main() { long long decimalNumber=0; // Digits of hexadecimal number system. From 0 to 9 and from A to F char hexDigits[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; char hexadecimal[30]; int i, j, power=0, digit; cout << "Enter a Hexadecimal Number\n"; cin >> hexadecimal; // Converting hexadecimal number to decimal number for(i=strlen(hexadecimal)-1; i >= 0; i--) { // search currect character in hexDigits array for(j=0; j<16; j++){ if(hexadecimal[i] == hexDigits[j]){ decimalNumber += j*pow(16, power); } } power++; } cout <<"Decimal Number : " << decimalNumber; return 0; }Salida
Enter a Hexadecimal Number 2F1 Decimal Number : 753