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.
Comenzado por
darsro
, ene 16 2012 02:52
6 respuestas en este tema
#1
Escrito 16 enero 2012 - 02:52
#2
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 !
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
Escrito 16 enero 2012 - 03:15
Como otra recomendación, usa un título más explicativo.
Saludos!
Saludos!
#4
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]
"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
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 !
Saludox !

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