[ Foro de C ]
NECESITO HACER UNA SUMA BINARIA EN C....
EN LA QUE ME PREGUNTE 2 NUMEROS Y LOS SUME... EL PROBLEMA RESIDE ES QUE NO PUEDO USAR BUCLES / CICLOS......
ENCONTRE ESTO QUE SI FUNCIONA... PERO TIENE EL WHILE :(
AYUDA... ALGUNA SUGERENCIA?? PLEASE!!!!
#include<stdio.h>
int main(){
long int binary1,binary2;
int i=0,remainder = 0,sum[20];
printf("Enter any first binary number: ");
scanf("%ld",&binary1);
printf("Enter any second binary number: ");
scanf("%ld",&binary2);
while(binary1!=0||binary2!=0){
sum[i++] = (binary1 %10 + binary2 %10 + remainder ) % 2;
remainder = (binary1 %10 + binary2 %10 + remainder ) / 2;
binary1 = binary1/10;
binary2 = binary2/10;
}
if(remainder!=0)
sum[i++] = remainder;
--i;
printf("Sum of two binary numbers: ");
while(i>=0)
printf("%d",sum[i--]);
return 0;
}
No pues no sé, lo único que se me ocurre es usar recursividad, pero es lo que no quieres usar.... Suerte con eso
hola pepenador, bueno primero decir que no hace falta gritar, cuando se escribe con mayusculas en un foro se interpreta que gritas y no es de buena educacion ir gritando por los foros
dicho esto el problema que tienes no es para tanto, a bote pronto se me ocurren dos soluciones sencillas
1- la mas elemental es hacerlo de forma secuencial es decir sabes que la variable a utilizar se
compone de x digitos sumas de forma binaria el primero con el primero guardas el acarreo y lo sumas al siguiente par de bits, repitiendo secuencialmete esta operacion tantas veces como digitos tenga la variable
2- la primera solicion es como sumar dos numeros de tres cifras con los dedos :-), una manera sencilla es utilizar la recursividad.
crea una funcion que haga la suma de un bit y devuelva el acarreo, deberia llamarse a si misma hasta que llegue al primer digito y ahi hacer la primera suma y devolver el acarreo
bueno para lo que tu has trabajado el ejercicio te he ayudado demasiado, ya que tu solo has hecho un corta-pega y no has hecho nada propio
ah lo que propones utiliza bucles y no te lo daran por bueno.
en 'forosdelweb' en la parte de c hay un ejercicio interesante sobre numeros binarios
https://www.forosdelweb.com/f96/traduciendo-numeros-binarios-c-1163200/#post4833913, donde CalgaryCorpus ofrece una version recursiva que podria ayudarte
suerte con el programa
hola disculpa me puedes explicar por favor porque el %10 y %2, mejor dicho todo lo del while
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)