Programación General > Pascal
Conversor Binario Decimal
(1/1)
pexopa:
hola sabeis como se hace un conversor de binario a decimal(y viceversa) sin usar funciones como val,copy,etc?
muchas gracias
-DriverOp-:
Aja, sí, se puede hacer pero ¿en qué formato está almacenado el número binario?, ¿es un string?. Porque no es lo mismo el 11001 (19) leído en binario que la cadena '11001'. Si es el primer caso no necesitas programar ninguna conversión, con hacer un Writeln de la variable que lo contiene ya está. En el segundo caso sí hay que programar. Me parece que hablas del segundo caso.
-DriverOp-:
Como sea, aquí está el código para binarios ingresados como strings:
--- Código: Text ---uses crt;var Decimal, I: Word; S: string; function MulPos(p: Word):Word;var Mul, J: word;begin Mul:=1; if p>1 then begin for j:=1 to (p-1) do Mul:=Mul*2; MulPos:=Mul; end else MulPos:=1;end; beginDecimal:=0;Write('Ingrese un número en binario: ');ReadLn(S); for i:=1 to Length(S) dobegin if S[i] = '1' then Decimal:=Decimal+MulPos(i);end;WriteLn(Decimal);readkey; end.
Navegación
Ir a la versión completa