Hallo,
ich schreibe z.Zt an einem Programm zur Umrechnung von Dezimalzahlen aus dem Wertebereich Real in Hexadezimal. Leider komme ich an der Stelle xYx, s.u., nicht weiter.
Ich poste einfachmal was ich habe, ich hoffe das ist okay:
************************************************************
program hexcalc;
{Rechnet Dezimalzahlen in Hexadezimalwerte um}
uses dos,crt;
const
Hex = 16;
var
dez, Vorkomma, Ergebnis,i : real;
procedure Eingabe;
begin
writeln('Dezimalzahl: ');
readln(dez);
end;
procedure Verarbeitung;
begin
i:=0;
repeat
i := i +1;
Ergebnis := frac(dez/Hex) * Hex;
if Ergebnis = 0 then writeln('0 ');
if Ergebnis = 1 then writeln('1 ');
if Ergebnis = 2 then writeln('2 ');
if Ergebnis = 3 then writeln('3 ');
if Ergebnis = 4 then writeln('4 ');
if Ergebnis = 5 then writeln('5 ');
if Ergebnis = 6 then writeln('6 ');
if Ergebnis = 7 then writeln('7 ');
if Ergebnis = 8 then writeln('8 ');
if Ergebnis = 9 then writeln('9 ');
if Ergebnis = 10 then writeln('A ');
if Ergebnis = 11 then writeln('B ');
if Ergebnis = 12 then writeln('C ');
if Ergebnis = 13 then writeln('D ');
if Ergebnis = 14 then writeln('E ');
if Ergebnis = 15 then writeln('F ');
****
Wie mache ich hier TP 7.0 klar den Vorkommateil so zu berechnen so das Ergebnis (das ist der Rest (Hexadezinmal umgerechnet durch if klauseln)
auch die 2.Stelle berechnet (also den Sprung von F nach 10)??????? Und das so das das auch für den Sprung von der 2 . zur 3. Stelle geht.
****
until i = 15;
end;
procedure Ausgabe;
begin
readln;
end;
begin
Eingabe;
Verarbeitung;
Ausgabe;
end.
Über Post würde ich mich freuen.