Ir al contenido


Foto

Conversión entre sistemas de numeración decimal, binario, hexadecimal.


  • Por favor identifícate para responder
6 respuestas en este tema

#1 darsro

darsro

    Member

  • Miembros
  • PipPip
  • 15 mensajes

Escrito 16 enero 2012 - 02:52

hola por favor necesito saber si alguien tiene un código que sirva para convertir de decimal a binario, octal,hexadecimal y viceversa... lo nesesito en Pseint.. o pascal.. de verdad se los agradeseria ... mejor si es en PSEint de ante mano gracias..
  • 0

#2 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 16 enero 2012 - 03:11

Amigo darso,

Por favor no repitas tus hilos en el foro, con uno que publiques basta para que nos demos cuenta de que necesitas asesoria...

Gracias por tu ayuda para mantener en orden nuestra casa...  :)

Sobre tu pregunta... llevas ya algún avance aunque sea en pseudocódigo de cómo se debe tratar este ejercicio que requieres ???... Un tip... divisiones consecutivas...

Saludox ! :)


  • 0

#3 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 16 enero 2012 - 03:15

Como otra recomendación, usa un título más explicativo.


Saludos!
  • 0

#4 darsro

darsro

    Member

  • Miembros
  • PipPip
  • 15 mensajes

Escrito 16 enero 2012 - 03:18

esto es lo que llevo adelantado  pero todo esto deve ser un mismo programa
"que trabaje con el condicional segun
[pascal]uses crt;
var
res,result,n,mult:integer;
begin
res:=0;
result:=0;
mult:=1;
write('Escriba un n£mero en decimal: ');
readln (n);
while n >=2 do
begin
res:= n MOD 2;
n:= n DIV 2;
result:= result + (mult*res);
mult:=mult*10
end;
Result:= result + (mult * n);
writeln ('El numero en binario es:', result:0);
readkey;
end.
[/pascal]


[pascal]{De decimal a Hexadecimal}
uses crt;
type
  TQuadString = string[4];      { Para la funcion Hex  }
var
  W,x,y:word;

function Hex(W: word): TQuadString;
const
  HexChars: array[0..15] of char = '0123456789ABCDEF';
begin
  Hex := HexChars[W shr 12] +
        HexChars[(W shr 8) and 15] +
        HexChars[(W shr 4) and 15] +
        HexChars[W and 15];
end;

begin
writeln;
write('Decimal (0 - 65535): ');
x:=WhereX;
y:=Wherey;
read(w);
gotoxy(x+4,y-1);
writeln(' = H',Hex(W));
end.[/pascal]

[pascal]
uses crt;
var
a:char;
s:string;
c:integer;
r:longint;
valido:boolean;
x,y:word;
begin
x:=wherex;
y:=wherey;
valido:=false;
if paramcount > 0 then
  begin
      val(paramstr(1),r,c);
      if c = 0 then valido:=not valido;
  end
  else
  begin
        repeat
            write('Hexa (0 - FFFFF) : ');
            x:=wherex;
            y:=wherey;
            readln(s);
            val('$'+s,r,c);
            if c = 0 then valido:=not valido
            else writeln('Error pos ',c);
        until (s='$') or valido;
  end;
if valido then
  begin
      gotoxy(x+6,y-1);
      writeln('= ',r);
  end;
[/pascal]

  • 0

#5 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 16 enero 2012 - 03:25

Al parecer tienes el 80 % del trabajo terminado... Para juntar todo porqué no hacer unas opciones tipo menú donde el usuario tenga qué elegir el tipo de operación a ejecutar... puedes usar un case...

Saludox ! :)
  • 0

#6 darsro

darsro

    Member

  • Miembros
  • PipPip
  • 15 mensajes

Escrito 16 enero 2012 - 03:26

eso  es lo que no se  hacer por eso estoy aki
  • 0

#7 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 16 enero 2012 - 03:28

Ni buscando un poco amigo ???

Buscando CASE PASCAL EJEMPLO en google.....

Saludox ! :)
  • 0




IP.Board spam blocked by CleanTalk.