Funktion zur HEX-Umwandlung


Gesucht ist eine Funktion HexDigit, die zu einer gegebenen Zahl n mit 0 <= n < 16 die zugehörige HEX-Ziffer liefert; als Ziffern für 10 - 15 sollen die Großbuchstaben 'A' - 'F' verwendet werden. Dabei nutzen wir aus, daß im ASCII-Code (und in allen anderen uns bekannten Codierungen) die Ziffern '0' .. '9' und die Buchstaben 'A' ..'F' jeweils unmittelbar hintereinander liegen. Zur Umwandlung zwischen den Datentypen CARDINAL und CHAR verwenden wir die Transfer-Funktionen ORD und CHR.
PROCEDURE HexDigit(n: CARDINAL): CHAR;
(* PRE n < 16 *)
BEGIN IF n < 10
      THEN RETURN CHR(ORD('0') + n)
      ELSE RETURN CHR(ORD('A') + n - 10)
      END
END HexDigit;

zurück | Inhalt | Index | vor | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36