C の Char から '0' を引くと、その数値が返されます
文字列から '0' を引くと、 ASCII 文字コードは、それによって表される数値になります。 Character.
ASCII エンコーディングについて
これが機能する理由を理解するには、ASCII エンコーディングについて知ることが重要です。 ASCII は、各文字に 0 ~ 127 の範囲の一意の数値を割り当てます。文字に対応する数値は、その ASCII コードとして知られています。
たとえば、文字「0」の ASCII コードは 48、 「1」の ASCII コードは 49 などです。これは、文字「0」から「9」が 48 から 57 の範囲の ASCII コードを持つことを意味します。
文字の数値表現
「0」を減算する理由文字コードから数値を返すのは、数字「0」から「9」までのASCIIコードが連続しているためです。これらのコードのいずれかから '0' を減算すると、シーケンスから数字のオフセットが削除され、実際の数値だけが残ります。
たとえば、'9' (ASCII コード 57) から '0' を減算すると 9 が得られます。 57 - 48 = から9.
例
次のコードを考えてみましょう。
char c = '9'; int x = (int)(c - '0');
ここでは、文字 '9' が変数 c に格納されています。 (int) を使用して c と '0' の差を整数にキャストすると、数値 '9' (9) が変数 x に代入されます。
結論
結論として、ASCII コードは数字を表すため、C の文字の ASCII コードから「0」を引くと、その文字が表す数値が得られます。 「0」から「9」は連続しており、数値を直接表します。
以上がC で Char から '0' を引くと数値が返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。