Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2015, 08:47
Avatar de tur2ra
tur2ra
 
Fecha de Ingreso: abril-2015
Ubicación: Delante de la pantalla
Mensajes: 6
Antigüedad: 9 años, 8 meses
Puntos: 0
Función decimal -> binario

Hola buenas,

estoy dando mis primeros pinitos en el mundo de la programación y me he encontrado con un problema que no sé resolver. Intento hacer una acción que muestre un número entrado en forma decimal en forma binaria. Sé que hay métodos recursivos que llaman a la misma función pero no es lo que busco. Quisiera poder tener ese número binario con las propiedades de un int.

Lo curioso de esto es que según con que números muestra el resultado correcto pero según con que otros no.

Les dejo lo que ahora estoy mantelando ya que por más que lo retoque siempre hay algun número que se me escapa.

void decimalAbinari(int x){
//Declarem variables
int binari=0, diferencia=x, comprovador=0, iteracio=1;
//ALGORITME
int b1=binari;
while (diferencia!=0){

int potencia=0;

if (diferencia==1){
b1=b1+1;
diferencia=diferencia-1;
cout << "entra a dif==1"<<endl;
}

else if (diferencia==2){
b1=b1+10;
diferencia=diferencia-2;
cout << "entra a dif==2" << endl;
}

else if (diferencia>2){
while(diferencia>=(pow(2, potencia+1)))potencia++;
b1=b1+pow(10, potencia);
diferencia=diferencia-pow(2, potencia);
cout << "entra a dif>2"<< endl;
}

else break;
}

Gracias por intentar ayudarme.