1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Re:Error en Pseint realizar suma binaria de números de n bits
« en: 14 de Octubre 2016, 00:24 »
Gracias por la respuesta
Dejé el pseudocódigo en binarios de 5 bits y así fue como funciono, porque con mas de 11 no![Triste :(](https://aprenderaprogramar.com/foros/Smileys/default/sad.gif)
aquí el como dejé el pseudocodigo:
Pantalla:
*** Ejecución Iniciada. ***
dame tu primer número
> 10101
dame tu segundo número
> 01101
1
0
0
0
1
0
*** Ejecución Finalizada. ***
si cambio el tamaño de los arreglos A y B a 20 y C a 21 cambiando tambien los ciclos ya no sirve![Triste :(](https://aprenderaprogramar.com/foros/Smileys/default/sad.gif)
Pantalla:
*** Ejecución Iniciada. ***
dame tu primer número
> 10101010101010101010
dame tu segundo número
> 10101001100110101011
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
*** Ejecución Finalizada. ***
No entiendo.
Dejé el pseudocódigo en binarios de 5 bits y así fue como funciono, porque con mas de 11 no
![Triste :(](https://aprenderaprogramar.com/foros/Smileys/default/sad.gif)
aquí el como dejé el pseudocodigo:
Código: [Seleccionar]
Algoritmo sin_titulo
Dimension A(5), B(5), C(6)
Escribir ("dame tu primer número")
leer x
Escribir ("dame tu segundo número")
leer x1
Para i=5 hasta 1 con paso -1 hacer
A(i)=x mod 2
x=trunc(x/10)
FinPara
para i=1 hasta 5 con paso 1
Escribir(A(i))
FinPara
Para i=5 hasta 1 con paso -1 hacer
B(i)=x1 mod 2
x1=trunc(x1/10)
FinPara
para i=1 hasta 5 con paso 1
Escribir(B(i))
FinPara
acarreo<-0
Para i=5 hasta 1 con paso -1 Hacer
Si A(i) + B(i) + acarreo=3 entonces
C(i+1)<-1
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=2 entonces
C(i+1)<-0
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=1 entonces
C(i+1)<-1
acarreo<-0
sino
Si A(i) + B(i) + acarreo=0 entonces
C(i+1)<-0
acarreo<-0
FinSi
FinSi
FinSi
FinSi
FinPara
C(1)<-acarreo
para i=1 hasta 6 con paso 1 hacer
escribir(C(i))
FinPara
FinAlgoritmo
Pantalla:
*** Ejecución Iniciada. ***
dame tu primer número
> 10101
dame tu segundo número
> 01101
1
0
0
0
1
0
*** Ejecución Finalizada. ***
si cambio el tamaño de los arreglos A y B a 20 y C a 21 cambiando tambien los ciclos ya no sirve
![Triste :(](https://aprenderaprogramar.com/foros/Smileys/default/sad.gif)
Código: [Seleccionar]
Algoritmo sin_titulo
Dimension A(20), B(20), C(21)
Escribir ("dame tu primer número")
leer x
Escribir ("dame tu segundo número")
leer x1
Para i=20 hasta 1 con paso -1 hacer
A(i)=x mod 2
x=trunc(x/10)
FinPara
Para i=20 hasta 1 con paso -1 hacer
B(i)=x1 mod 2
x1=trunc(x1/10)
FinPara
acarreo<-0
Para i=20 hasta 1 con paso -1 Hacer
Si A(i) + B(i) + acarreo=3 entonces
C(i+1)<-1
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=2 entonces
C(i+1)<-0
acarreo<-1
Sino
Si A(i) + B(i) + acarreo=1 entonces
C(i+1)<-1
acarreo<-0
sino
Si A(i) + B(i) + acarreo=0 entonces
C(i+1)<-0
acarreo<-0
FinSi
FinSi
FinSi
FinSi
FinPara
C(1)<-acarreo
para i=1 hasta 21 con paso 1 hacer
escribir(C(i))
FinPara
FinAlgoritmo
Pantalla:
*** Ejecución Iniciada. ***
dame tu primer número
> 10101010101010101010
dame tu segundo número
> 10101001100110101011
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
*** Ejecución Finalizada. ***
![Triste :(](https://aprenderaprogramar.com/foros/Smileys/default/sad.gif)