首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言字符轉數字邏輯:'3' - '0' 得數值 3,累加公式 s = 10*s + digit

     編輯:程式設計疑難解答

代碼片段

char c = '3';
int digit = c - '0';  // digit = 3
int s = 0;
s = 10 * s + digit;   // 從高位到低位累加

原理解析

  1. 字符減法:ASCII 碼中 '0' 到 '9' 連續編碼,'3' - '0' = 51 - 48 = 3。同理 'A' - 'A' = 0 等。
  2. 位權累加:讀取字符串 "123" 時:
    s = 0
    s = 10*0 + 1 = 1
    s = 10*1 + 2 = 12
    s = 10*12 + 3 = 123
    每步乘 10 實現十進制進位。

常見變體

  • 十六進制:s = 16*s + digit (digit 0-15)。
  • 驗證字符合法性:if (c >= '0' && c <= '9')。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved