viernes, 19 de diciembre de 2008

Código en C que convierte de binario a decimal

Código en C que convierte de binario a decimal. Además muestra el valor en base octal y hexadecimal.
[sourcecode language='cpp']#include
#include // binario a decimal
int bin2dec(char *bin)
{
int b, k, m;
int len, sum = 0;

len = strlen(bin) - 1;
for(k = 0; k < len; k++)
{
if(bin[k]=='1')
{
b=1;
for(m = len-1; m > k; m--)
b *= 2;
sum = sum + b;
}
}
return(sum);
}

int main()
{
char bin[80] = "";
int dec;
printf("\n Da un numero binario: ");
fgets(bin, sizeof(bin), stdin);
dec = bin2dec(bin);
//la verdad solo convierte a decimal, ya las otras conversiones las hace el printf
//al mostrar el numero en distintas bases
printf("\nDecimal = %d Hexadecimal = 0x%04X Octal = 0%o\n",dec,dec,dec);
getchar();
return 0;
}[/sourcecode]

1 comentario: