Ej 10 b

Re: Ej 10 b

de Eduardo Fernandez -
Número de respuestas: 0

Hola,

Por una parte si al final hay que hacer la suma de S +1  correspondiente al último acarreo, esa suma es más sencilla de lo que parece ese código.

Tenés dos casos:
1) Si S está terminando en 0, entonces se sustituye ese 0 por 1 y ya tenés la suma, 
2) y si S tiene 1s a la derecha, entonces vas sustituyendo esos 1 por 0 (de derecha a izquierda) hasta que encuentres un 0, que lo sustituís por 1 y parás.
  caso 1                                          caso 2
1 1 1 0 0                                       1 0 0 1 1 1
+       1                                       +         1 
---------                                      -------------
1 1 1 0 1                                       1 0 1 0 0 0

Por otra parte, sobre el desbordamiento, en el teórico dice que si los sumandos "tienen el mismo signo y el resultado es de signo opuesto, ha habido desbordamiento y el resultado es incorrecto." Entonces al final de todo, en el último if es eso lo único que tenés que controlar para ver el desbordamiento. No es necesario controlar si c~=0 en el último if, porque en teoría la suma +1 se va a detener antes. 

Pruebenlo y me cuentan.

Eduardo