El programa: (lo que tiene que hacer es, leer un numero binario y pasarlo a decimal)
#include <stdio.h>
#include <conio.h>
int main()
{
clrscr();
int digit1, digit2, digit3, digit4, digit5, decimal_number;
int newdigit1, newdigit2, newdigit3, newdigit4, newdigit5;
long int binary_number, module;
printf("Introduce un numero binario (0 y 1) de 5 digitos: ");
scanf("%ld", &binary_number);
digit1 = binary_number / 10000;
module = binary_number % 10000;
digit2 = module / 1000;
module = binary_number % 1000;
digit3 = module / 100;
module = binary_number % 100;
digit4 = module / 10;
digit5 = module;
newdigit1 = digit1 * 16;
newdigit2 = digit2 * 8;
newdigit3 = digit3 * 4;
newdigit4 = digit4 * 2;
newdigit5 = digit5 * 1;
decimal_number = newdigit1 + newdigit2 + newdigit3 + newdigit4 + newdigit5;
printf("El numero binario introducido es %d%d%d%d%d\nSu equivalente a decimal es %d", digit1, digit2, digit3, digit4, digit5, decimal_number);
return 0;
}
A lo mejor a alguien le extraña las 5 variables newdigit (ya que se podian haver convertido directamente las digit a decimal
) pero si no las usara en la frase del final si el numero binario introducido fuera 00010 me saldria como 10
Pues weno, aki se sabe k va a haver 5 digitos (si escribes mas o menos el programa no funciona bien
) la question esta en hacer un codigo en el k no sepamos cuantos cuantos digitos tendra el numero binario que introducira el usuario y desde luego k se calcule bien el resultado al ser pasado a decimal, e pensado algo pero solo funcionaria usuando arrays y tampoco se muy bien como hacerlo
alguien puede ayudar please?