程式碼片段展示兩個函式 HEXtoarry 與 HexToDec,核心邏輯都是將無號長整數 ReadVlaue 的每一位數字轉為對應的 ASCII 字元並存入字元陣列。
+ '0' 的作用數字 0~9 的 ASCII 碼為 48~57('0' = 48)。digit + '0' 即可將單一數位轉為字元 '0'~'9'。例如:5 + '0' = 53 = '5'。
UUT_date[0] = ReadVlaue / 100000000 % 10 + '0';
UUT_date[0] = ReadVlaue / 10000000 % 10 + '0'; // 覆寫同一位置
// ... 後續皆寫入 UUT_date[0]
此處應依序遞增索引:
UUT_date[0] = ReadVlaue / 100000000 % 10 + '0'; // 億位
UUT_date[1] = ReadVlaue / 10000000 % 10 + '0'; // 千萬位
UUT_date[2] = ReadVlaue / 1000000 % 10 + '0'; // 百萬位
// ... 以此類推至 UUT_date[8]
HexToDec 使用迴圈與 Gain 變數逐位提取,並處理前導零(ZeroDisplayMark),最後以 '\0' 結尾,寫法較完善。
sprintf(buf, "%lu", value) 直接轉換(需標準庫支援)。理解 + '0' 與陣列索引的關係,是 C 語言整數轉字串的基礎功力。