Buenas, ¿no puedes poner el pseudocódigo completo? Así quizás podamos ver dónde está el fallo.
He encontrado esta definición del proceso de suma binaria por si te ayuda:
Proceso sumarbinarios
Definir bin1, bin2,bin3 Como Entero
Mostrar "Ingrese un numero en binario"
Leer bin1
Mostrar "Ingrese un segundo número en binario"
Leer bin2
bin3 <- sumaBinaria(bin1,bin2)
Escribir bin3
FinProceso
Funcion retorno <- sumaBinaria(bin1, bin2)
Definir a, b, c, res como Entero
a <- BinarioADecimal(bin1)
b <- BinarioADecimal(bin2)
res <- a + b
c <- DecimalABinario(res)
retorno <- c
FinFuncion
Funcion retorno <- BinarioADecimal( bin )
Definir decimal,i como Entero
Definir digitos, d como Caracter
decimal <- 0
digitos <- ConvertirATexto(bin)
Para i<-0 Hasta Longitud(digitos)-1 Hacer
d <- SubCadena(digitos, i, i)
decimal <- decimal*2 + ConvertirANumero(d)
Fin Para
retorno <- decimal
FinFuncion
Funcion retorno <- DecimalABinario( dec )
Definir binario, resultado, resto como Entero
Definir digitos,d como Caracter
digitos <- ''
resultado <- dec
Mientras resultado > 0 Hacer
resto <- resultado Mod 2
d <- ConvertirATexto(resto)
digitos <- d + digitos
resultado <- trunc(resultado / 2)
FinMientras
binario <- ConvertirANumero(digitos)
retorno <- binario
FinFuncion
Salu2