Zahlenkonvertierung in C: Subtrahieren von „0“, um numerischen Wert zu extrahieren
In C wird jedes Zeichen, einschließlich Ziffern, durch ein dargestellt Ganzzahl, bekannt als ASCII-Wert (American Standard Code for Information Interchange). Das Zeichen „0“ hat einen ASCII-Wert von 48, der als Ausgangspunkt für alle numerischen Zeichen dient.
Wenn Sie „0“ vom ASCII-Wert eines Zeichens subtrahieren, ist das Ergebnis der numerische Wert der Charakter repräsentiert. Dies liegt daran, dass die ASCII-Codes für Ziffern sequentiell strukturiert sind, wobei jede nachfolgende Ziffer einen um eins größeren Wert als die vorherige hat.
Zum Beispiel:
char c = '9'; int x = (int)(c - '0');
Hier , der ASCII-Wert von „9“ ist 57. Wenn wir „0“ (48) von diesem Wert subtrahieren, erhalten wir 57 - 48 = 9. Daher wird die Variable x sein den Zahlenwert 9 zugewiesen.
Der Grund für dieses Verhalten ist, dass die ASCII-Codes für Ziffern zusammenhängend sind, also einer linearen Reihenfolge folgen. Durch Subtrahieren des Startwerts ('0') wird der numerische Wert effektiv an den entsprechenden ASCII-Code angepasst.
Die ASCII-Tabelle, die Zeichen ihren entsprechenden Ganzzahlwerten zuordnet, veranschaulicht dieses Konzept deutlich:
'0' -> 48 '1' -> 49 '2' -> 50 ... '9' -> 57
Durch Subtrahieren von „0“ vom ASCII-Wert einer beliebigen Ziffer erhalten Sie deren numerische Darstellung. Diese Technik wird häufig in der C-Programmierung verwendet, um numerische Werte aus Zeichendaten zu extrahieren.
Das obige ist der detaillierte Inhalt vonWie wandelt das Subtrahieren von „0' eine Zeichenziffer in ihren numerischen Wert in C um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!