十六進位轉十進位轉換器
解讀色碼與錯誤代碼:將 #FF, 0x80 轉換回我們熟悉的數字
為什麼需要將十六進位轉成十進位?
在電腦世界中,為了讓冗長的二進位 (0/1) 變得好讀一點,工程師發明了 十六進位 (Hexadecimal)。這就是為什麼您常在網頁色碼看到 #FFFFFF,或在藍屏錯誤代碼看到 0x00000050。
雖然 Hex 對電腦來說很方便,但對人類的大腦來說,我們很難直覺地知道 "2F" 到底是大還是小。這款 十六進位轉十進位轉換器 能幫您將這些混合了英文與數字的代碼,還原成我們從小學到大的十進位數字,讓您知道 FF 其實就是 255。
核心原理:A-F 代表什麼?
十六進位是「逢 16 進 1」。因為阿拉伯數字只有 0-9,不夠表達 10-15,所以借用了英文字母:
-
0 ~ 9:數值與十進位相同。
-
A = 10
-
B = 11
-
C = 12
-
D = 13
-
E = 14
-
F = 15
如何手動計算? (權重乘法教學)
十六進位的計算邏輯與十進位一樣,只是基數變成了 16。位置權重由右向左分別是 $16^0, 16^1, 16^2...$。
範例:將 2C 轉為十進位
-
分析位置:
-
右邊第一位 (個位) 是 C。
-
右邊第二位 (16位) 是 2。
-
-
轉換字母: C 代表 12。
-
計算權重:
-
$C \times 16^0 = 12 \times 1 = 12$
-
$2 \times 16^1 = 2 \times 16 = 32$
-
-
加總: $32 + 12 = 44$。
-
答案: 44。
常見的應用場景
1. 網頁設計 (Web Colors)
這是最常見的應用。CSS 色碼如 #FF5733,其實是三個獨立的 Hex 數字。
-
Red:
FF-> 255 (紅色全開) -
Green:
57-> 87 (綠色開一點點) -
Blue:
33-> 51 (藍色微量) -
轉換後,設計師就能理解這個顏色是由多少數值的紅綠藍混合而成。
2. 記憶體位址 (Memory Address)
程式除錯時,變數的位址通常顯示為 0x7fff...。
-
如果您需要計算兩個變數在記憶體中相隔多遠 (Offset),必須先將 Hex 轉為十進位後相減,才能知道差了幾個 Byte。
3. 字元編碼 (Unicode)
中文字 "好" 的 Unicode 是 U+597D。
-
將
597D轉為十進位是 22909。這就是電腦內部尋找這個字的索引編號。
常見問題 (People Also Ask)
Q1:輸入時要加 "0x" 嗎?
都可以。
-
0x是程式語言(如 C, Python)用來標示「這是十六進位」的前綴符號。 -
本工具很聰明,無論您輸入
0x2F還是直接輸入2F,都能正確識別並計算。
Q2:為什麼最大值常常是 FF (255)?
因為電腦習慣以 8 bits (1 Byte) 為單位。
-
8 個二進位 (
11111111) 轉成十六進位剛好是 2 位數 (FF)。 -
轉成十進位就是 255。
-
這就是為什麼 IP 位址、色碼、ASCII 碼的最大值都是 255。
Q3:Hex 計算時有分大小寫嗎?
沒有。
-
2a和2A代表的數值完全一樣。 -
習慣上,程式碼中常用小寫 (
0x2a),而正式文件或色碼常用大寫 (#2A)。
Q4:十六進位的小數怎麼算?
權重是 除以 16。
-
小數點後第一位是 16 的 -1 次方 (也就是除以 16)。
-
例如 0.8 (Hex) = 8 ÷ 16 = 0.5 (Decimal)。