Heim >Backend-Entwicklung >C++ >Wie kann ich den ganzzahligen Wert eines Zeichens in C mit „cout' drucken?
Zeichen als Ganzzahlen in C mit cout drucken
Beim Versuch, Zeichen als Ganzzahlen mit der Funktion cout auszugeben, kann es zu unerwarteten Ergebnissen kommen. Dies liegt daran, dass cout Zeichen normalerweise als Zeichen und nicht als 8-Bit-Ganzzahlen behandelt. Allerdings sind Zeichentypen in C tatsächlich ganzzahlige Typen.
Um dieses Problem zu beheben und sicherzustellen, dass Zeichen als Ganzzahlen gedruckt werden, besteht eine effektive Lösung darin, den unären Plusoperator ( ) zu verwenden. Dieser Operator stuft das Zeichen in einen primitiven Datentyp (z. B. int) hoch, der als Zahl gedruckt werden kann, unabhängig von seinem ursprünglichen Typ.
char a = 0xab; cout << +a; // Output: 171
Durch die Anwendung des unären Plusoperators wird das Zeichen a umgewandelt zu einem int. Diese Umwandlung behält den numerischen Wert des Zeichens bei und ermöglicht die Ausgabe als Ganzzahl.
Es ist wichtig zu beachten, dass dieser Ansatz gültig ist, solange der Datentyp für den Zeichentyp (char, signiertes Zeichen, oder unsigned char) stellt einen unären Plusoperator mit Standardsemantik bereit. Darüber hinaus ermöglicht die Definition einer Klasse zur Darstellung einer Zahl mit einem unären Plusoperator, der den Wert des aktuellen Objekts zurückgibt (durch Wert oder durch Verweis auf eine Konstante), das Drucken des Zeichens als Zahl.
Das obige ist der detaillierte Inhalt vonWie kann ich den ganzzahligen Wert eines Zeichens in C mit „cout' drucken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!