Codigo en C, cambie de nro. natural a binario [Resuelto/Cerrado]

perfot 44 Publicaciones viernes, 4 de abril de 2008Fecha de inscripciónContribuidorEstatus viernes, 31 de octubre de 2008 Última intervención - 31 oct 2008 a las 13:44 - Última respuesta:  farreell
- 15 may 2016 a las 06:03
Hola,

Me gustaria saber el codigo en C para crear un programa que cambie un numero natural entero a binario. Si alguien lo sabe me harian un gran favor!
Ver más 

9 respuestas

Keron 13 Publicaciones viernes, 31 de octubre de 2008Fecha de inscripción viernes, 31 de octubre de 2008 Última intervención - 31 oct 2008 a las 17:31
+23
Vota
6
Aqui te pongo el código de la funcion que buscas.



#include <stdio.h>

void dec2bin(long decimal, char *binary);

int main()
{
long decimal;
char binary[80];

printf("\n\n Ingrese el numero a convertir : ");
scanf("%ld",&decimal);
dec2bin(decimal,binary);
printf("\n El numero Binario es: %ld is %s \n",decimal,binary);

getchar(); // trap enter
getchar(); // wait
return 0;
}

void dec2bin(long decimal, char *binary)
{
int k = 0, n = 0;
int neg_flag = 0;
int remain;
int old_decimal;
char temp[80];


if (decimal < 0)
{
decimal = -decimal;
neg_flag = 1;
}
do
{
old_decimal = decimal;
remain = decimal % 2;
decimal = decimal / 2;

printf("%d/2 = %d remainder = %d\n", old_decimal, decimal, remain);
temp[k++] = remain + '0';
} while (decimal > 0);

if (neg_flag)
temp[k++] = '-';
else
temp[k++] = ' ';

while (k >= 0)
binary[n++] = temp[--k];

binary[n-1] = 0;
}
¿Te sirvió esta respuesta?  
al fin lo encontre...
GRACIAS
tiene algunos errores pero es efectivo gracias
esta increiblemente bien hecho, felicidades y gracas
sklsdfhkasjflñ - 28 nov 2015 a las 17:24
si funciona !!!! c:
hola!. una pregunat porque me sale error en scanf. hay que agregar alguna libreria?.
+3
Vota
1
uhhh......este código me vino justo!
gracias muchachos!!!