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..

Conversión entre sistemas de numeración decimal, binario, hexadecimal.
Started by
darsro
, Jan 16 2012 02:52 PM
6 replies to this topic
#1
Posted 16 January 2012 - 02:52 PM
#2
Posted 16 January 2012 - 03:11 PM
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 !
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 !

#3
Posted 16 January 2012 - 03:15 PM
Como otra recomendación, usa un título más explicativo.
Saludos!
Saludos!
#4
Posted 16 January 2012 - 03:18 PM
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]
"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]
#5
Posted 16 January 2012 - 03:25 PM
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 !
Saludox !

#6
Posted 16 January 2012 - 03:26 PM
eso es lo que no se hacer por eso estoy aki
#7
Posted 16 January 2012 - 03:28 PM