Codigo en C, cambie de nro. natural a binario
Resuelto/Cerrado
perfot
Mensajes enviados
44
Fecha de inscripción
viernes, 4 de abril de 2008
Estatus
Contribuidor
Última intervención
viernes, 31 de octubre de 2008
-
31 oct 2008 a las 13:44
farreell - 15 may 2016 a las 06:03
farreell - 15 may 2016 a las 06:03
2 respuestas
Keron
Mensajes enviados
13
Fecha de inscripción
viernes, 31 de octubre de 2008
Estatus
Miembro
Última intervención
viernes, 31 de octubre de 2008
171
31 oct 2008 a las 17:31
31 oct 2008 a las 17:31
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;
}
#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;
}
13 abr 2012 a las 00:42
22 may 2012 a las 19:08
GRACIAS