Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Mario Olivera en 18 Mayo 2015, 18:18 PM

Título: [Codigo] Binario a Decimal
Publicado por: Mario Olivera en 18 Mayo 2015, 18:18 PM
 Les dejo un código que hice, pasa un binario a decimal  :D

Saludos!

Código (cpp) [Seleccionar]
#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;
}
Título: Re: [Codigo] Binario a Decimal
Publicado por: engel lex en 18 Mayo 2015, 19:50 PM
Creo que allí podrías hacer el código mucho mas eficiente ahí...

Una de las cosas buenas es cambiar for por while((contador=contador/10)!=0)