ホームページ >バックエンド開発 >C++ >C/C で単一の文字の数字を整数に効率的に変換するにはどうすればよいですか?

C/C で単一の文字の数字を整数に効率的に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 11:20:12243ブラウズ

How Can I Efficiently Convert a Single Character Digit to an Integer in C/C  ?

単一文字を整数に変換する

文字として保存された数値データを扱う場合、計算のためにそれらを整数に変換することが重要です。 atoi() では文字列からの変換が可能ですが、これには不必要な中間ステップが含まれます。

幸いなことに、48 ('0' の場合) から 57 (' の場合) の数字のエンコードに基づいた、より効率的な方法があります。 9分)。このエンコーディングは、ASCII や UTF-x などのさまざまなエンコーディング スキームに適用されます。

この知識を使用すると、数字文字から '0' (または 48) を減算して整数値を取得できます。

char c = '1';
int i = c - '0'; // i is now equal to 1, not '1'

代わりに、同等のものを使用することもできます:

char c = '1';
int i = c - 48; // i is now equal to 1, not '1'

どちらの方法でも目的の結果が得られます結果として、一般に前者の方が読みやすいと考えられます。この手法は、補助的な文字列操作を必要とせずに、単一の文字を整数に効果的に変換します。

以上がC/C で単一の文字の数字を整数に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。