首頁 > 後端開發 > C++ > 為什麼 C 中的字元減去「0」會回傳其數值?

為什麼 C 中的字元減去「0」會回傳其數值?

Linda Hamilton
發布: 2024-12-14 12:32:11
原創
653 人瀏覽過

Why Does Subtracting '0' from a Char in C Return Its Numerical Value?

從C 中的字元中減去「0」會傳回其數值

您可能會驚訝地發現從一個字元中減去“0” ASCII 字元代碼會產生該字元表示的數值。

理解ASCII 編碼

要理解其原理,了解 ASCII 編碼非常重要。 ASCII 為每個字元分配一個唯一的數值,範圍從 0 到 127。字元對應的數值稱為它的 ASCII 代碼。

例如,字元「0」的 ASCII 代碼為 48, 「1」的 ASCII 代碼為 49,依此類推。這表示字元 '0' 到 '9' 的 ASCII 碼範圍為 48 到 57。

字元的數字表示

減去'0' 的原因從字元代碼傳回數值是因為數字「0」到「9」的ASCII 代碼是連續的。從這些程式碼中的任何一個中減去「0」都會從序列中刪除數字的偏移量,只留下實際的數值。

例如,從「9」(ASCII 代碼57)減去「0」會得到9,因為57 - 48 = 9.

範例

考慮以下程式碼:

char c = '9';
int x = (int)(c - '0');
登入後複製

這裡,我們在變數 c中儲存了一個字元“9”。使用 (int) 將 c 和 '0' 之間的差轉換為整數,將數值 '9'(即 9)指派給變數 x。

結論

綜上所述,C 語言中字符的ASCII 碼減去'0' 就得到該字符所代表的數值,因為數字的ASCII 碼'0'到'9'是連續的,直接代表數值。

以上是為什麼 C 中的字元減去「0」會回傳其數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板