Heim >Backend-Entwicklung >C++ >Wie kann ich in C/C eine einzelne Ziffer effizient in eine ganze Zahl umwandeln?
Ein einzelnes Zeichen in eine ganze Zahl umwandeln
Beim Umgang mit numerischen Daten, die als Zeichen gespeichert sind, ist es wichtig, sie für Berechnungen in ganze Zahlen umzuwandeln. Während atoi() die Konvertierung aus einem String ermöglicht, erfordert dies einen unnötigen Zwischenschritt.
Glücklicherweise gibt es eine effizientere Methode, die auf der Kodierung der Ziffern von 48 (für „0“) bis 57 (für „ 9'). Diese Kodierung gilt für verschiedene Kodierungsschemata, einschließlich ASCII und UTF-x.
Mit diesem Wissen können Sie „0“ (oder 48) vom Ziffernzeichen subtrahieren, um seinen ganzzahligen Wert zu erhalten:
char c = '1'; int i = c - '0'; // i is now equal to 1, not '1'
Alternativ können Sie das Äquivalent verwenden:
char c = '1'; int i = c - 48; // i is now equal to 1, not '1'
Während beide Methoden das gewünschte Ergebnis liefern, wird erstere im Allgemeinen als besser angesehen lesbar. Diese Technik wandelt einzelne Zeichen effektiv in ganze Zahlen um, ohne dass eine zusätzliche Manipulation der Zeichenfolge erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie kann ich in C/C eine einzelne Ziffer effizient in eine ganze Zahl umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!