Binario a decimal en C
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]!= ' ')
{
subresultado = bits[i]* multip;
valor_decimal += subresultado;
i++;
multip = multip/2;
}
return 0;
}
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]!= ' ')
{
subresultado = bits[i]* multip;
valor_decimal += subresultado;
i++;
multip = multip/2;
}
return 0;
}
