El siguiente código realiza la conversión de un número decimal a binario utilizando el método de división.
#include <iostream> using std::cout; using std::cin; using std::endl; int main(){ int i,j,num,num2,res,x[10]; cout << "Dame numero: "; cin >> num; num2 = num; for(i = 1 ; i <= num ; i++){ // Determina (i) las divisiones que se harán num2 = num2 / 2; if(num2 == 1) break; } for(j = 1 ; j <= i; j++){ // Realiza las operaciones para la conversión res = num % 2; if(res == 1) x[j] = 1; else if(res == 0) x[j] = 0; num = num / 2; } cout << "1"; /* Coloca un 1 al comienzo del numero binario, ya que todo numero binario comienza con 1*/ for(j = i ; j > 0 ; j--) // Imprime el número binario, precede al 1 anterior cout << x[j]; cout << endl; system("PAUSE"); return 0; }
Este programa realiza la conversión de decimal a binario
Descargar código.
pues si sirve
ResponderEliminargracias me puede servir
gracias !!
ResponderEliminardios, me salvaste el pellejo gracias
ResponderEliminarcreo ke mejor seria usando una funcion recursiva... a vver si a alguien le sirve... es menos codigo ...
ResponderEliminarlong abinario (long num){
if (num < 2){
return num;
}
else {
return num%2 + ( 10 * abinario (num/2));
}
}
la funcion recursiva esta wena =P
ResponderEliminarExpliquenme como funciona la recursiva
ResponderEliminarAlguien sabe donde se podría aplicar un programa que haga esta conversion dentro de la industria o la computación
ResponderEliminarvoid binario(int n)
ResponderEliminar{
if (n!=0)
{
binario(n/2);
cout<>num;
cout<<endl;
cout<<"El numero en binario es:"<<endl;
cout<<endl;
binario(num);
cout<<endl;
getch();
return 0;
}
Ahí les va algo mas chido a ver si les sirve
ResponderEliminar#include
int fac[]={128,64,32,16,8,4,2,1};// Factores
int bin[8];// Binario
int num, cont, suma=0;
void numero()
{
printf("Ingrese el numero que se va a convertir del 1 a 255\n\n");
printf("Numero: ");
scanf("%d", &num);
}
void conversion()
{
for(cont=0; cont<8; cont++)
{
if(fac[cont]+ suma <= num)
{
bin[cont]=1;
suma+=fac[cont];
}
else
bin[cont]=0;
}
}
void result()
{
printf("Binario:\t");
for(cont=0; cont<8; cont++)
{
printf("%d ", bin[cont]);
}
}
main()
{
numero();
conversion();
result();
return 0;
}
Lo aplicas para convertir la direccion ip en binario y así determinar la dirección a dónde se conecta y la máscara de subred se cálcula por medio de binarios
ResponderEliminargracias
ResponderEliminarsta¡¡ bueno¡¡¡ pero xk no usar¡¡ solo "using namespace std;" .. en ves de ponerle a cada uno O.o¡¡
ResponderEliminary para convertirlo con numeros fraccionarios, por ejemplo:
ResponderEliminar1101001.101 de bianrio a decimal y viceversa(168.65).
Utiliza nuestro foro de electronica si tienes dudas no relacionadas con este tema.