首頁 >後端開發 >C++ >在 C 中如何減去'0”將字元數字轉換為其數值?

在 C 中如何減去'0”將字元數字轉換為其數值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-13 18:43:12364瀏覽

How Does Subtracting '0' Convert a Character Digit to its Numeric Value in C?

C 中的數字轉換:減去'0' 來提取數值

在C 中,每個字元(包括數字)都由一個表示稱為ASCII(美國資訊交換標準代碼)值的整數。 「0」字元的 ASCII 值為 48,它是所有數字字元的起點。

當您從字元的 ASCII 值中減去「0」時,結果是以下數值:字元代表。這是因為數字的 ASCII 代碼是依序建構的,每個後續數字的值都比前一個數字大 1。

例如:

char c = '9';
int x = (int)(c - '0');

這裡,「9」的 ASCII 值為 57。當我們從此值中減去「0」(48) 時,我們得到 57 - 48 = 9。因此,變數 x 將被分配數值 9。

此行為的原因是數字的 ASCII 代碼是連續的,這意味著它們遵循線性序列。減去起始值(“0”)可以有效地將數值與其對應的 ASCII 代碼對齊。

將字元對應到其對應整數值的ASCII 表清楚地說明了這個概念:

'0' -> 48
'1' -> 49
'2' -> 50
...
'9' -> 57

透過將任意數字的ASCII 值減去“0”,就可以得到其數字表示形式。這種技術經常在 C 程式設計中用於從字元資料中提取數值。

以上是在 C 中如何減去'0”將字元數字轉換為其數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn