從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中文網其他相關文章!