[ Foro de C ]

SUMA BINARIA

26-Sep-2019 21:06
Invitado (PEPENADOR)
3 Respuestas

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;
}


26-Sep-2019 23:53
Invitado (Mario Lopez)

No pues no sé, lo único que se me ocurre es usar recursividad, pero es lo que no quieres usar....  Suerte con eso


27-Sep-2019 20:24
didac apellido largo

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


23-Nov-2019 01:23
Invitado (ale)

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.)