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

C/C で文字列から 1 桁を整数に効率的に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-17 04:30:25
オリジナル
939 人が閲覧しました

How Can I Efficiently Convert Single Digits from a String to Integers in C/C  ?

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

プログラミングでは、数字の文字列を個々の整数値に変換する必要がある状況によく遭遇します。インデックスを使用して各文字にアクセスするのは簡単ですが、それらの文字を整数に変換するのは難しいように思えるかもしれません。

人気のある atoi() 関数には文字列引数が必要なので、各文字を文字列に変換してから atoi を使用するというアイデアが生まれました。 ()。ただし、より直接的で効率的なアプローチがあります。

重要なのは、数字の文字エンコーディングが連続していることを認識することです。 ASCII、UTF-x、およびその他のほとんどのエンコード システムでは、「0」のエンコードは 48 ですが、「9」のエンコードは 57 です。

これを利用して、数字の整数値を抽出できます。 「0」または 48 から文字を減算します。例:

char c = '1';
int i = c - '0'; // i is now equal to 1, not '1'
ログイン後にコピー

これは同等ですto:

char c = '1';
int i = c - 48; // i is now equal to 1, not '1'
ログイン後にコピー

どちらの式も同じ結果を生成しますが、一般に最初のオプション (c - '0') の方が読みやすいと考えられています。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート