Cita:
Iniciado por nup_ No uses un número para guardar la representación en binario.
Usa una cadena de texto.
nup_
Creo que este es el usuario que sólo ha visto los if, while, for y poco más. No creo que halla llegado a los arrays.
Aunque tampoco son necesarios.
La idea de él es plausible, ir obteniendo los restos del número en binario y multiplicándolos por las respectivas potencias de dos.
Un ejemplo sería el código que dejo a continuación, donde uso unsigned long long por si quiere meter números binarios hasta 60-65 cifras en lugar de las ocho que él dice. Para este último caso bastaría usar int en lugar de unsigned long long:
Código C++:
Ver original#include <stdio.h>
int main(void){
int i,digitos=1;
unsigned long long int numero,N,num=0;
printf("Introduzca un numero binario de ocho digitos maximo:\n"); do{
for (i=10;(numero/i)>0;i*=10){
digitos++;
}
if (digitos>=9){
puts("He dicho ocho digitos maximo"); printf("Introduzca un numero binario de ocho digitos maximo:\n"); }
}while (digitos>=9);
num=0,N=numero;
for (i=1;N>0;i*=2){
num+=i*(N%10);
N/=10;
}
return 0;
}
¡¡¡Saluditos!!!