🌐 ZH-TW

🔢 進位制轉換器

在二進位、八進位、十進位與十六進位之間互相轉換。

指南

瞭解更多

01

1. 認識數字系統

數字系統是表示數值的方法。我們日常使用的十進位(10 進位)採用 10 個數字(0-9)。電腦則使用二進位(2 進位),僅以 0 和 1 表示所有資料。八進位(8 進位)使用 0-7,而十六進位(16 進位)則使用 0-9 及 A-F。每種系統都有不同的基數,位值以基數的次方來計算。舉例來說,十進位的 13 等於二進位的 1101(1×8 + 1×4 + 0×2 + 1×1)、八進位的 15,以及十六進位的 D。在程式設計中理解各種數字系統,能有效處理記憶體管理、位元運算與色碼等工作。

02

2. 二進位在電腦運算中的重要性

二進位是電腦的基礎語言。電子電路只能分辨兩種狀態:開(1)與關(0),這使二進位成為最有效率的系統。所有資料(數字、文字、圖片、影片)最終都以 0 與 1 的組合儲存。一個位元(bit)就是一個二進位數字,而一個位元組(byte)等於 8 個位元。位元運算(&、|、^、~)以二進位為基礎,對旗標管理、加密與壓縮至關重要。二補數(two's complement)是表示負數的方法。CPU 執行所有算術運算時,實際上僅使用二進位加法。理解二進位能讓你對電腦運作原理有更根本的認識。

03

3. 十六進位在程式設計與記憶體位址中的應用

十六進位在程式設計中至關重要。它比二進位更簡潔,卻又容易互相轉換,因此被廣泛使用。一位十六進位數字恰好代表 4 個位元(4 個二進位數字)。記憶體位址通常以十六進位表示(0x7FFF5C3A)。色碼也使用十六進位(#FF5733 代表紅色 255、綠色 87、藍色 51)。Unicode 字元則以十六進位表示(U+AC00)。十六進位便於檢查位元組數值(0xFF = 255)。程式語言使用 0x 前綴來表示十六進位記法。十六進位是除錯與低階程式設計中不可或缺的工具。

04

4. 八進位系統及其用途

雖然八進位如今較少被使用,但在某些領域仍相當重要。Unix/Linux 檔案權限即以八進位表示(在 chmod 755 中,7=rwx,5=r-x)。一位八進位數字恰好代表 3 個位元。早期的電腦系統(PDP-8)偏好使用八進位,部分舊系統與嵌入式裝置至今仍在使用。C 語言以 0 前綴表示八進位記法(077 = 63)。八進位能以 3 位元為一組,簡潔地表示二進位數值。理解八進位對於特定的系統程式設計工作(如檔案權限與遮罩設定)相當重要。

05

5. 數字系統間的轉換方法

進位制轉換有多種方法。將其他進位轉換為十進位時,採用位值乘法法:例如 1011₂ = 1×8 + 0×4 + 1×2 + 1×1 = 11₁₀。將十進位轉換為其他進位時,則採用餘數提取法:反覆除以目標基數,並將餘數以相反順序讀出。二進位與十六進位之間的轉換非常簡單:將二進位數字以 4 個一組,再各自轉換為十六進位(1111 0101₂ = F5₁₆)。二進位與八進位的轉換方式類似,以 3 個位元為一組。程式語言提供內建函式(如 JavaScript 的 parseInt、toString)。使用進位制轉換工具能減少錯誤並加快轉換速度。

06

6. 程式設計中的實務應用

進位制轉換有各種實務應用。位元遮罩(bitmask)常用於權限管理(READ=0x01、WRITE=0x02、EXECUTE=0x04)。網路程式設計以二進位計算 IP 位址與子網路遮罩。色彩處理則將 RGB 數值轉換為十六進位。密碼演算法使用十六進位進行位元組層級的運算。組譯與反組譯以十六進位顯示機器碼。記憶體傾印分析同樣以十六進位進行。雜湊值(MD5、SHA)也以十六進位表示。嵌入式系統則使用十六進位控制硬體暫存器。理解這些應用能讓你成為更有效率的開發者。