Char-Werte dekodieren: Warum das Subtrahieren von „0“ die numerische Darstellung preisgibt
Es stellt sich eine rätselhafte Frage: Warum funktioniert das Subtrahieren von „0“ von a Zeichen in C den numerischen Wert enthüllen, den es darstellt?
Um dieses Rätsel zu lösen, Tauchen wir ein in den Bereich von ASCII (American Standard Code for Information Interchange), der jedem Zeichen numerische Codes zuweist. „0“ steht an der ersten Stelle in dieser Zahlenfolge, wobei den nachfolgenden Zeichen schrittweise höhere Werte zugewiesen werden.
Zum Beispiel stellt „9“ den Zahlenwert 57 dar, während „0“ 48 entspricht. Durch Subtrahieren von „0 ' Aus einem Zeichen berechnen wir im Wesentlichen die Differenz zwischen seinem ASCII-Code und dem ASCII-Code von '0'.
Betrachten Sie das Beispiel: char c = '9'; int x = (int)(c - '0');
Hier hat '9' einen ASCII-Code von 57. Das Subtrahieren von '0' (das einen ASCII-Code von 48 hat) ergibt 57 - 48 = 9, was ist genau der numerische Wert, der durch „9“ dargestellt wird.
Die folgende ASCII-Tabelle veranschaulicht dies weiter Konzept:
Zeichen | ASCII Code |
---|---|
'0' | 48 |
'1' | 49 |
'9' | 57 |
Von Indem wir „0“ von einem beliebigen Zeichen subtrahieren, können wir den numerischen Wert, den es darstellt, effektiv dekodieren, eine Technik, die häufig in verschiedenen Programmieranwendungen verwendet wird.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3