Heim >Backend-Entwicklung >C++ >Warum gibt das Subtrahieren von „0' von einem Zeichen in C seinen numerischen Wert zurück?
Das Subtrahieren von „0“ von einem Zeichen in C gibt dessen numerischen Wert zurück
Sie werden vielleicht überrascht sein, dass das Subtrahieren von „0“ von einem Der ASCII-Zeichencode ergibt den numerischen Wert, der durch dieses Zeichen dargestellt wird.
ASCII verstehen Kodierungen
Um zu verstehen, warum das funktioniert, ist es wichtig, etwas über ASCII-Kodierungen zu wissen. ASCII weist jedem Zeichen einen eindeutigen numerischen Wert im Bereich von 0 bis 127 zu. Der einem Zeichen entsprechende numerische Wert wird als sein ASCII-Code bezeichnet.
Zum Beispiel hat das Zeichen „0“ den ASCII-Code 48, „1“ hat den ASCII-Code 49 usw. Das bedeutet, dass die Zeichen „0“ bis „9“ ASCII-Codes im Bereich von 48 bis 57 haben.
Numerische Darstellung von Zeichen
Der Grund für das Subtrahieren von „0“ aus einem Zeichencode den numerischen Wert zurückgibt, liegt daran, dass die ASCII-Codes für die Ziffern „0“ bis „9“ sequentiell sind. Durch das Subtrahieren von „0“ von einem dieser Codes wird der Versatz der Ziffern aus der Folge entfernt, sodass nur der tatsächliche numerische Wert übrig bleibt.
Zum Beispiel ergibt das Subtrahieren von „0“ von „9“ (ASCII-Code 57) 9, seit 57 - 48 = 9.
Beispiel
Betrachten Sie den folgenden Code:
char c = '9'; int x = (int)(c - '0');
Hier haben wir ein Zeichen „9“ in der Variablen c gespeichert. Die Umwandlung der Differenz zwischen c und „0“ in eine ganze Zahl mit (int) weist der Variablen x den numerischen Wert „9“, also 9, zu.
Schlussfolgerung
Zusammenfassend lässt sich sagen, dass das Subtrahieren von „0“ vom ASCII-Code eines Zeichens in C den numerischen Wert ergibt, den das Zeichen darstellt, da die ASCII-Codes für die Ziffern „0“ bis „9“ sind. sind sequentiell und stellen die numerischen Werte direkt dar.
Das obige ist der detaillierte Inhalt vonWarum gibt das Subtrahieren von „0' von einem Zeichen in C seinen numerischen Wert zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!