Drucken einen Hexadezimalwert in C (2024)

  1. Ein Überblick über Hexadezimalzahlen in der Programmiersprache C
  2. Formatbezeichner in der Programmiersprache C
  3. Der Prozess der Umwandlung in einen Hexadezimalwert
  4. Implementierung des Druckens von Hexadezimalwerten
  5. Verwenden Sie %x, um den Hexadezimalwert in Kleinbuchstaben in C zu drucken
  6. Verwendung von %X zum Drucken von Hexadezimalwerten in Kleinbuchstaben in C
Drucken einen Hexadezimalwert in C (1)

Dieser Beitrag behandelt das Drucken von Hexadezimalwerten mit der Programmiersprache C.

Ein Überblick über Hexadezimalzahlen in der Programmiersprache C

Eine Hexadezimalzahl ist ein Wert, der aus 16 Symbolen in der Programmiersprache C besteht. Zu diesen Symbolen gehören die zehn normalen Zahlensysteme von 0 bis 9 und die sechs zusätzlichen Symbole von A bis F.

Das hexadezimale Zahlensystem in C wird als Base-16-Zahlensystem bezeichnet. Hexadezimalzahlen können nicht in einem Datentyp wie float, long oder double gespeichert werden; Sie können sie jedoch in einem integralen Datentyp speichern.

Um einen Hexadezimalwert in der Programmiersprache C einzugeben, müssen Sie scanf verwenden, das Formatbezeichner wie %x und %X bereitstellt.

Ein Hexadezimalwert wird in der Programmiersprache C entweder als 0x oder 0X dargestellt. Um eine Ganzzahl im Hexadezimalformat zu drucken, muss der Formatbezeichner %x oder %X innerhalb des Befehls printf() verwendet werden.

Der Wert wird im Hexadezimalformat mit Kleinbuchstaben gedruckt, wenn %x verwendet wird, als (a-f). Der Wert wird im Hexadezimalformat mit Großbuchstaben gedruckt, wenn %X verwendet wird, als (A-F).

Formatbezeichner in der Programmiersprache C

Wenn Sie möchten, dass 0x immer in der Ausgabe enthalten ist, sollten Sie das Symbol # nicht verwenden, da es dazu führt, dass der Ausgabe 0x vorangestellt wird, selbst wenn der Wert 0 ist.

Das Erzeugen führender Nullen kann erreicht werden, indem das Breitenfeld mit den 0-Flags auf folgende Weise kombiniert wird: Der Wert von %08x fügt führende Nullen zu der Ganzzahl hinzu, sodass sie eine Breite von 8 hat.

Es besteht auch die Möglichkeit, das Precision-Feld zu verwenden, das wie folgt lautet: %.8x füllt die Ganzzahl mit führenden Nullen auf insgesamt 8 Stellen auf. Daher ist 0x%.8x eine weitere Option, die Sie für Ihr Ziel in Betracht ziehen sollten.

Wenn bei der Konvertierung ein Präfix gebildet wird, wie z. B. 0x für # oder - für negative ganze Zahlen bei vorzeichenbehafteten Konvertierungen, sind diese Konvertierungsanforderungen anders. Die Länge des Präfixes wird für die Breite gezählt, aber nicht für die Genauigkeitsangabe.

Hier ist ein Beispiel dafür, wie verschiedene Spezifizierer verwendet werden können, um verschiedene Ausgabestile für Hexadezimalzahlen bereitzustellen.

#include <stdio.h>int main() { printf("%10x\n", 252); printf("%010x\n", 252); printf("%#010x\n", 252); printf("%10.8x\n", 252); printf("%#10.8x\n", 252); printf("0x%.8x\n", 252); printf("%10x\n", 0); printf("%010x\n", 0); printf("%#010x\n", 0); printf("%10.8x\n", 0); printf("%#10.8x\n", 0); printf("0x%.8x", 252);}

Ausgang:

 fc00000000fc0x000000fc 000000fc0x000000fc0x000000fc 000000000000000000000 00000000 000000000x000000fc

Der Prozess der Umwandlung in einen Hexadezimalwert

Schauen wir uns nun an, wie das System diese Konvertierung durchführt, damit wir sie vollständig verstehen können.

  1. Sie müssen zuerst die gelieferte Zahl durch 16 teilen und den Rest der Operation notieren.
  2. Fahren Sie mit Schritt 1 fort, bis der Quotient gleich 0 ist.
  3. Kombinieren Sie die restlichen Komponenten in der umgekehrten Reihenfolge, in der sie erworben wurden.

Implementierung des Druckens von Hexadezimalwerten

Wenn wir zum Beispiel in diesem Beispiel 252 durch 16 teilen, erhalten wir 15 als Quotient und 12 als Rest. Jetzt teilen wir 15 durch 16; Der Quotient ist 0, während der Rest 15 ist.

Es ist wichtig zu beachten, dass der resultierende Quotient 0 ist, wenn 15 durch 16 geteilt wird. Hier hören wir also mit der Berechnung auf.

Die beiden Reste, die nach den ersten beiden Stufen erhalten werden, sind 12 und 15, und ihre entsprechenden Darstellungen in Hexadezimalzahlen sind c und f. Die hexadezimale Darstellung von Resten ist hier in umgekehrter Richtung organisiert, wie sie erzeugt wurden.

Daher wird der Wert 252 in diesem Fall hexadezimal als fc dargestellt.

Verwenden Sie %x, um den Hexadezimalwert in Kleinbuchstaben in C zu drucken

Der Hexadezimalwert wird mit dem Formatmodifikator %x in kleinen Buchstaben gedruckt. Wie ff, ffd usw.

Sehen wir uns das folgende Beispiel an, um zu sehen, wie der Formatbezeichner %x funktioniert.

Der erste Schritt besteht darin, die notwendigen Bibliotheken zu importieren und eine main()-Funktion zu konstruieren.

Erstellen Sie als nächstes eine Variable mit dem Datentyp int und nennen Sie sie integerValue. Geben Sie ihm dann einen ganzzahligen Wert, der in den entsprechenden Hexadezimalwert konvertiert wird.

Dann müssen wir den ganzzahligen Wert in hexadezimal umwandeln, was der Bezeichner %x automatisch für uns erledigt und den Wert in Kleinbuchstaben ausgibt.

Code:

#include <stdio.h>int main() { int integerValue = 252; printf("The converted value in hexadecimal is: %x\n", integerValue); return 0;}

Ausgang:

The converted value in hexadecimal is: fc

Verwendung von %X zum Drucken von Hexadezimalwerten in Kleinbuchstaben in C

In diesem Beispiel verwenden wir %X in der print-Anweisung, um den Wert in Grossbuchstaben auszugeben.

#include <stdio.h>int main() { int integerValue = 252; printf("The converted value in hexadecimal is: %X\n", integerValue); return 0;}

Ausgang:

The converted value in hexadecimal is: FC
Drucken einen Hexadezimalwert in C (2024)
Top Articles
Latest Posts
Article information

Author: Saturnina Altenwerth DVM

Last Updated:

Views: 6082

Rating: 4.3 / 5 (44 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Saturnina Altenwerth DVM

Birthday: 1992-08-21

Address: Apt. 237 662 Haag Mills, East Verenaport, MO 57071-5493

Phone: +331850833384

Job: District Real-Estate Architect

Hobby: Skateboarding, Taxidermy, Air sports, Painting, Knife making, Letterboxing, Inline skating

Introduction: My name is Saturnina Altenwerth DVM, I am a witty, perfect, combative, beautiful, determined, fancy, determined person who loves writing and wants to share my knowledge and understanding with you.