Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Binario a decimal en C
Enviado por rot el día 4 de mayo de 2008
1 - Realizar una funcion que dado un numero en formato binario, de hasta 8 bits (ingresado como string) entregue su valor decimal.
Esta es mi idea pero no saca valores correctos
Tambien me pide hacer el prototipo de funcion, pero no se que es.
#include <stdio.h>
#include <stdlib.h>
char bits[9];
char valor_decimal=0;
int main()
{
printf("ingrese valor 8 bits de izq a der:\n");
scanf("%s",bits);
binario_a_decimal();
printf("el valor de %s es %s", bits, valor_decimal);
getch();
return 0;
}
int binario_a_decimal()
{
char subresultado=0;
char i=0; /*posicionamiento en base al string*/
char multip=128; /*valor por el cual se va a multiplicar el string*/
while (bits[i]!= '\0')
{
subresultado = bits[i]* multip;
valor_decimal += subresultado;
i++;
multip = multip/2;
}
return 0;
}
En otro post te he explicado como hacer el cambio de hexadecimal a decimal.
El cambio de otra base a decimal es primo hermano a este.
Te reto a intentar este tu solo.
Postea el código cuando lo tengas.
Suerte y un gran saludo.