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

[0] Índice de Mensajes

Ir a la versión completa