Saludos!
Código
#include <iostream> using std::cin; using std::endl; using std::cout; #include <cmath> using std::pow; int main() { long int binario; long int decimal=0; long int auxBinario; int resto; bool respuesta= true; cout <<"Binario: "; cin >> binario; auxBinario= binario; for (int contador=0; pow(10.,contador) < binario; contador++) { resto= auxBinario % 10; auxBinario/= 10; switch (resto) { case 0: decimal+= (resto * pow(2.0,contador)); break; case 1: decimal+= (resto * pow(2.0,contador)); break; default: respuesta= false; break; } } if (respuesta == true) { cout <<"\nEl binario " <<binario <<" es " <<decimal <<endl; } else { cout <<"\nEl numero ingresado no es un binario!\n"; } cin.get(); cin.get(); return 0; }