dec bin
bin dec
hex dec
okt dec
dec hex
PROGRAM KONVERSI HEX KE DESIMAL
USES CRT;
VAR
A,F,Z,W:STRING;
B,D,N,M,I:LONGINT;
C,J,K,E,G,H,X,Y,O:INTEGER;
BEGIN
CLRSCR;
WRITE(’HEXADECIMAL=’);
READLN(A);
B:=LENGTH(A);M:=0;E:=1;X:=34;Y:=3;
FOR C:= B DOWNTO 1 DO
BEGIN
F:=COPY(A,E,1);
IF (F=’A') OR (F=’A') THEN F:=’10?;
IF (F=’B') OR (F=’B') THEN F:=’11?;
IF (F=’C') OR (F=’C') THEN F:=’12?;
IF (F=’D') OR (F=’D') THEN F:=’13?;
IF (F=’E') OR (F=’E') THEN F:=’14?;
IF (F=’F') OR (F=’F') THEN F:=’15?;
VAL(F,J,K);
H:=C-1;I:=1;
FOR G:=H DOWNTO 1 DO
BEGIN
I:=I*16;
END;
D:=J*I;M:=M+D;E:=E+1;
END;
WRITE(’DECIMAL =’,M);
READLN;
END.
Hasil:
HEXADECIMAL=FFFF
DECIMAL =65535
HEXADECIMAL=0000
DECIMAL =0
HEXADECIMAL=ABCDEF
DECIMAL =11259375
PROGRAM KONVERSI OKTAL KE DESIMAL
USES CRT;
VAR
A,F,Z,W:STRING;
B,D,N,M,I:LONGINT;
C,J,K,E,G,H,X,Y,O:INTEGER;
BEGIN
WRITE(’OKTAL=’);
READLN(A);
B:=LENGTH(A);M:=0;E:=1;X:=34;Y:=3;
FOR C:= B DOWNTO 1 DO
BEGIN
F:=COPY(A,E,1);
VAL(F,J,K);
H:=C-1;I:=1;
FOR G:=H DOWNTO 1 DO
BEGIN
I:=I*8;
END;
D:=J*I;M:=M+D;E:=E+1;
END;
WRITE(’DECIMAL =’,M);
READLN;
END.
Hasil:
OKTAL=65
DECIMAL =53
OKTAL=31
DECIMAL =25
OKTAL=1000
DECIMAL =512
PROGRAM Hex(input, output);
USES crt;
CONST
max = 30; {this is used for declaring ARRAY}
TYPE
hexadecimal = ARRAY[1..max] OF integer;
VAR
decimal: longint;
i: integer;
hexa: hexadecimal;
PROCEDURE convert(decimal: longint; VAR i: integer; VAR hexa: hexadecimal); {This procedure works the conversion}
BEGIN
i := 1;
WHILE decimal <> 0 DO BEGIN
hexa[i] := decimal MOD 16;
decimal := decimal DIV 16;
i := i + 1;
END;
END;
PROCEDURE writetothescreen(i: integer; hexa: hexadecimal);
VAR j: integer;
BEGIN
write(output, 'Number ', decimal, ' in hexadecimal is ');
{This is how you make a hex number}
FOR j := (i - 1) DOWNTO 1 DO BEGIN
IF hexa[j] < 10 THEN
write(output, hexa[j])
ELSE BEGIN
{Here, program checks for number larger than 10 to write a letter instead of number}
CASE hexa[j] OF
10: write(output, 'A');
11: write(output, 'B');
12: write(output, 'C');
13: write(output, 'D');
14: write(output, 'E');
15: write(output, 'F');
END; {End of Case}
END; {End of ELSE}
END; {End of FOR loop}
END; {End of Procedure}
BEGIN
clrscr;
write(output, 'Enter a number in decimal to be converted: ');
readln(decimal);
convert(decimal, i, hexa);
writetothescreen(i, hexa);
readln(input);
END.
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar