Ich würde niemals einen Hexstring mit einem Vorzeichen erwarten. So etwas ist sehr ungewöhnlich. Letztendlich wird normalerweise (also in C, Delphi, PHP, ...) die interne Kodierung 1:1 in die Hex-Darstellung überführt. Eine Binärzahl ist aber lediglich eine Abfolge von Nullen und Einsen. Da gibt es kein Vorzeichen, sondern das Vorzeichen wird kodiert. Wenn das Vorzeichen immer in das dritte Bit hinein kodiert werden würde, dann würde ich erwarten, dass das genau so auch in der Hex-Darstellung angezeigt wird. Du könntest dem User auch anbieten, die Zahl als Binär-String oder also Octal-String auszugeben. In keinem dieser Fälle würde ich ein Vorzeichen erwarten, sondern immer die exakte Repräsentation der intern verwendeten Kodierung.
Entweder der User kennt sich mit der Hex-Darstellung aus, dann ist ihm auch bekannt wie eine vorzeichenbehaftete Zahl in der Hexdarstellung aussieht, oder er kennt sich mit der Hex-Darstellung eben nicht aus, dann wird er sich die Zahl auch nicht in der Hex-Darstellung ausgeben lassen.
Das Problem ist die Intthex Funktion bei meinem Delphi 2006. Wie in meinem Anhang zu sehen wird aus einer Zuweisung mit $FFFF nach dem IntToHex ein $FFFFFFFF
Naja, die Funktion heißt ja auch IntToHex und nicht SmallIntToHex. Eine Funktion SmallIntToHex würde selbstverständlich FFFF liefern.