jueves, 11 de abril de 2013

Convertir un número decimal a binario


Este es un programa en C++ para convertir un número decimal a binario.
El algoritmo consiste en dividir el número dado decimal por 2 y obtener el cociente y el resto. El cociente se vuelve a dividir por 2 y se obtiene un nuevo resto. El proceso se repite "mientras (while)" el producto del cociente por el divisor sea menor o igual al dividendo; esto es, mientras se cumpla la condición q*2<=dv. En otras palabras, "mientras quepa", que decíamos en la escuela. El número binario se escribe empezando por el último cociente y siguiendo por los restos obtenidos hasta el primero. El programa da hasta el número decimal 2047. Si se quiere alargar basta con modificar N, que está puesto a 10.

#include<iostream>
#define N 10
using namespace std;
int main()
{
int dv;
int q=1,i;
int Q,R[N];
cout<<"Dame el número: ";cin>>dv;
for(i=0;i<N;i++){
while(q*2<=dv)
q++;
Q=q-1;
R[i]=dv-Q*2;
dv=Q;q=1;
}
cout<<Q; for(i=N-1;i>=0;i--) cout<<R[i];
cout<<endl;
return 0;
}




No hay comentarios:

Publicar un comentario en la entrada