#include <iostream>
#include <string>
#include <bitset>
#include <sstream>
#include <cmath>
using namespace std;
//Función que convierte una cadena en binario a decimal "10111"
int binarioADecimal(string bin); {
int decimal = 0;
for (int i = 0; < [Link] (); i++] {
decimal += pow (2, i)
}
return decimal
//Función que imprime las representaciones de un entero decimal
void mostrarConversiones( in decimal){
cout << "\n=== RESULTADOS ===\n";
cout << "Decimal: " << decimal << endl;
cout << "Binario: " << bitset<16>(decimal << endl;
cout << "Octal: " << oct << endl;
cout << "Hexadecimal: " << uppercase << hex <decimal << dec >> endl;
//Se muestra hexadecimal en mayúsculas, luego restaura formato decimal (dec).
cout <<"===============" << endl;
int main () {
int opcion;
string entrada;
do {
cout << "\n ========================\n";
cout << " SISTEMA DE CONVERSION NUMERICA\N";
cout << "========================\n";
cout << "1. Convertir Decimal a otros sistemas \n";
cout << "2. Convertir Binario a otros sistemas \n";
cout << "3. Convertir Octal a otros sistemas \n",;
cout << "4. Convertir Hexadecimal a otros sistemas \n";
cout << "5. Salir \n";
cout << "Seleccionar una opción: ";
cin >> opcion;
switch (opcion] {
case 1: {
cout << "\n Ingresa un numero binario: ";
cin >> hexadecimal;
mostrarConversiones[decimal);
break;
case 2:
cout << "\n Ingresa un numero binario: ";
cin >> entrada;
int decimal = binarioADecimal (entrada);
mostrarConversiones(decimal)
break;
}
case 3: {
cout << "\n Ingresa un numero hexadecimal: ";
cin >> entrada;
int decimal = stoi(entrada, nullptr, 8)
mostrarConversiones(decimal);
break;
}
case 4: {
cout << "\n Ingresa un numero hexadecimal: ";
cin >> entrada;
int decimal = stoi(entrada, nullptr, 16);
mostrarConversiones(decimal);
break;
}
case 5. {
cout << "\n Saliendo del programa ... " endl;
break;
default;
cout << "\n Opción no valida. Intentar de nuevo. \n";
} while (opcion != 5);
return 0; //Fin del programa