我有一個C代碼,在此期間我打開一個文件來輸入一個十六進制數字。然後,我想將獲得的數字添加到另一個十六進制數字中,最後以十六進制顯示數字。例如我輸入AC65E1,然後添加E並顯示AC65EF。在C中操作十六進制碼
有沒有辦法做到這一點,而不經過轉換爲十進制並添加十進制,然後轉換回十六進制?如果沒有什麼是時間最佳的方式來做到這一點?
編輯:我想我的問題是我誤解了,我想知道我是否可以使用'+'與十六進制?如果我不能那麼我將不得不使用更改爲十進制來使用'+'運算符。對不起,任何錯誤輸入!
現在我正在將文件中的數據讀入char hex_num [10];
試試這個:'printf(「%02x%02X%d \ n」,42,42,42);':) – pmg 2011-03-02 14:40:36
即使在您編輯@Syntax_Error之後,您仍然對數字的處理方式有着根本性的誤解在電腦上。你所擁有的是一串字符 - 對人眼來說 - 是一個數字(它看起來像十六進制符號)。即使字符串看起來像十進制,情況也完全相同。您不能對字符串執行數字運算。您需要將字符串轉換爲其真正的數字類型(打印時可能看起來像是十進制或十六進制,但實際上是二進制的,並且_不要緊),以便對其進行算術運算。 – 2011-03-02 15:04:07
可能的重複[如何在C中將十六進制數字轉換爲基數10?](http://stackoverflow.com/questions/10324/how-can-i-convert-a-hexadecimal-number-to-base -10-effective-in-c) – 2011-03-02 15:06:33