MASSIVE EDIT:C - Konvertieren long int unterzeichnet Hex-String
Ich habe eine lange int Variable, die ich brauche, um ein signiertes 24-Bit-Hexadezimalstring ohne "0x" am Anfang zu konvertieren. Der String muss aus 6 Zeichen bestehen, gefolgt von einem String-Terminator '\ 0', daher müssen führende Nullen hinzugefügt werden.
Beispiele: [-1 -> FFFFFF] --- [1 -> 000001] --- [71 -> 000047]
Antwort Diese den Trick zu tun scheint:
long int number = 37;
char string[7];
snprintf (string, 7, "%lX", number);
Nur zur Klarstellung, was Sie meinen mit Vorzeichen hex, z. Was sollte -1 konvertiert werden? –
FFFFFF (wenn ich mein Konvertierungsrecht gemacht habe: s) – Cheetah
OK, das sieht aus wie Umwandlung in unsigned long und Drucken einer vorzeichenlosen Hex-Zahl. –