Sunday, September 6, 2015

Decimal to Hexadecimal



This is a sample code how to convert Decimal to Hexadecimal

Dec2Hex(DecValue : Decimal) : Text[6]
//Sample DecValue : 16422450
//16422450 MOD 16 = 1026403 --> 2
//1026403  MOD 16 = 64150   --> 3
//64150    MOD 16 = 4009    --> 6
//4009     MOD 16 = 250     --> 9
//250      MOD 16 = 15      --> 10 (A)
//15       MOD 16 = 15      --> 15 (F)
// -------------------------------------> FA9632

i := 1;
WHILE(DecValue <> 0) DO BEGIN
  Value := DecValue MOD 16;
  CASE Value OF
    10: Hex[i] := 'A';
    11: Hex[i] := 'B';
    12: Hex[i] := 'C';
    13: Hex[i] := 'D';
    14: Hex[i] := 'E';
    15: Hex[i] := 'F';
    ELSE Hex[i] := FORMAT(Value);
  END;
  DecValue := DecValue DIV 16;
  i += 1;
END;

FOR i := 6 DOWNTO 1 DO BEGIN
  IF Hex[i] = '' THEN Hex[i] := FORMAT(0);
  ResultHex += Hex[i];
END;

EXIT(ResultHex);

No comments:

Post a Comment