Embarcadero

Autor Tema: Conversión entre sistemas de numeración decimal, binario, hexadecimal.  (Leído 4956 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado darsro

  • Usuario Activo
  • ***
  • Panel de agradecimientos
  • -Tu has dado: 0
  • -Tu has recibido: 0
  • Mensajes: 13
  • Calificaciones: +0/-0
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..
« Última Modificación: 16 de enero de 2012, 15:29:50 por Fenareth »

Comunidad Delphiaccess


Desconectado Fenareth

  • Administrador
  • ******
  • Panel de agradecimientos
  • -Tu has dado: 43
  • -Tu has recibido: 130
  • Mensajes: 3,053
  • Calificaciones: +158/-1
  • Sexo: Femenino
  • Dulce corderito entre lobos
Re: ayuda con este programa
« Respuesta #1: 16 de enero de 2012, 15:11:28 »
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 ! :)

Tu corazón late a la izquierda y el mío late junto al tuyo...

Desconectado felipe

  • Administrador
  • ******
  • Panel de agradecimientos
  • -Tu has dado: 82
  • -Tu has recibido: 136
  • Mensajes: 2,931
  • Calificaciones: +149/-0
  • Sexo: Masculino
  • 100% producto colombiano
    • Web
Re: ayuda con este programa
« Respuesta #2: 16 de enero de 2012, 15:15:56 »
Como otra recomendación, usa un título más explicativo.


Saludos!
Que Dios te tenga en su gloria amigo lKinGl...

Web - Twitter - Facebook

Desconectado darsro

  • Usuario Activo
  • ***
  • Panel de agradecimientos
  • -Tu has dado: 0
  • -Tu has recibido: 0
  • Mensajes: 13
  • Calificaciones: +0/-0
Re: ayuda con este programa
« Respuesta #3: 16 de enero de 2012, 15:18:06 »
esto es lo que llevo adelantado  pero todo esto deve ser un mismo programa
"que trabaje con el condicional segun
Código PASCAL
  1. uses crt;
  2. var
  3. res,result,n,mult:integer;
  4. begin
  5. res:=0;
  6. result:=0;
  7. mult:=1;
  8. write('Escriba un n£mero en decimal: ');
  9. readln (n);
  10. while n >=2 do
  11. begin
  12. res:= n MOD 2;
  13. n:= n DIV 2;
  14. result:= result + (mult*res);
  15. mult:=mult*10
  16. end;
  17. Result:= result + (mult * n);
  18. writeln ('El numero en binario es:', result:0);
  19. readkey;
  20. end.
  21.  


Código PASCAL
  1. {De decimal a Hexadecimal}
  2. uses crt;
  3. type
  4.   TQuadString = string[4];      { Para la funcion Hex  }
  5. var
  6.   W,x,y:word;
  7.  
  8. function Hex(W: word): TQuadString;
  9. const
  10.   HexChars: array[0..15] of char = '0123456789ABCDEF';
  11. begin
  12.   Hex := HexChars[W shr 12] +
  13.          HexChars[(W shr 8) and 15] +
  14.          HexChars[(W shr 4) and 15] +
  15.          HexChars[W and 15];
  16. end;
  17.  
  18. begin
  19. writeln;
  20. write('Decimal (0 - 65535): ');
  21. x:=WhereX;
  22. y:=Wherey;
  23. read(w);
  24. gotoxy(x+4,y-1);
  25. writeln(' = H',Hex(W));
  26. end.

Código PASCAL
  1. uses crt;
  2. var
  3. a:char;
  4. s:string;
  5. c:integer;
  6. r:longint;
  7. valido:boolean;
  8. x,y:word;
  9. begin
  10. x:=wherex;
  11. y:=wherey;
  12. valido:=false;
  13. if paramcount > 0 then
  14.    begin
  15.       val(paramstr(1),r,c);
  16.       if c = 0 then valido:=not valido;
  17.    end
  18.    else
  19.    begin
  20.         repeat
  21.             write('Hexa (0 - FFFFF) : ');
  22.             x:=wherex;
  23.             y:=wherey;
  24.             readln(s);
  25.             val('$'+s,r,c);
  26.             if c = 0 then valido:=not valido
  27.             else writeln('Error pos ',c);
  28.          until (s='$') or valido;
  29.    end;
  30. if valido then
  31.    begin
  32.       gotoxy(x+6,y-1);
  33.       writeln('= ',r);
  34.    end;
  35.  
« Última Modificación: 16 de enero de 2012, 15:22:16 por Fenareth »

Desconectado Fenareth

  • Administrador
  • ******
  • Panel de agradecimientos
  • -Tu has dado: 43
  • -Tu has recibido: 130
  • Mensajes: 3,053
  • Calificaciones: +158/-1
  • Sexo: Femenino
  • Dulce corderito entre lobos
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 ! :)
Tu corazón late a la izquierda y el mío late junto al tuyo...

Desconectado darsro

  • Usuario Activo
  • ***
  • Panel de agradecimientos
  • -Tu has dado: 0
  • -Tu has recibido: 0
  • Mensajes: 13
  • Calificaciones: +0/-0
eso  es lo que no se  hacer por eso estoy aki
« Última Modificación: 16 de enero de 2012, 15:29:25 por Fenareth »

Desconectado Fenareth

  • Administrador
  • ******
  • Panel de agradecimientos
  • -Tu has dado: 43
  • -Tu has recibido: 130
  • Mensajes: 3,053
  • Calificaciones: +158/-1
  • Sexo: Femenino
  • Dulce corderito entre lobos
Tu corazón late a la izquierda y el mío late junto al tuyo...