八進位轉二進位轉換器

八進位轉二進位轉換器

搞懂 Linux 權限設定:將 755, 644 等八進位代碼轉換為二進位訊號

為什麼需要將八進位轉成二進位?

在現代電腦世界,十六進位 (Hex) 雖然是主流,但在 UNIX / Linux 系統 中,八進位 (Octal) 依然是王道。

當您在設定網站伺服器權限時,一定輸入過 chmod 777chmod 755。這些數字其實就是八進位。電腦在讀取這些權限時,會將它們轉換成二進位的「開關」,來決定誰可以讀取 (Read)、寫入 (Write) 或執行 (Execute)。這款 八進位轉二進位轉換器 能幫您解開這些數字的秘密,讓您完全掌控檔案的安全設定。

核心原理:完美的「3 位元」分組

八進位的規則是「逢 8 進 1」(使用數字 0-7)。為什麼電腦喜歡用它? 因為 2 的 3 次方 = 8。這代表 1 個八進位數字,剛好可以對應 3 個二進位數字

對照表速查

  • 0 = 000

  • 1 = 001

  • 2 = 010

  • 3 = 011

  • 4 = 100

  • 5 = 101

  • 6 = 110

  • 7 = 111 (最大值)

如何手動計算? (4-2-1 法則)

不同於十六進位使用「8-4-2-1」,八進位只需要用到前三個權重:4、2、1

範例:將 755 轉為二進位

這是一個經典的 Linux 權限數字。我們將它拆成三個獨立的數字來看:

  1. 轉換 7: 4 + 2 + 1 = 7。對應二進位 111

  2. 轉換 5: 4 + 0 + 1 = 5。對應二進位 101

  3. 轉換 5: 4 + 0 + 1 = 5。對應二進位 101

  4. 合併: 111101101

常見的應用場景

1. Linux 檔案權限 (chmod)

這是八進位最重要的應用。

  • r (Read/讀取): 權重為 4 (二進位 100)。

  • w (Write/寫入): 權重為 2 (二進位 010)。

  • x (Execute/執行): 權重為 1 (二進位 001)。

當您設定權限為 7 (rwx) 時,二進位就是 111,代表三個功能全開。 當您設定權限為 5 (r-x) 時,二進位就是 101,代表能讀、能執行,但不能寫入。

2. 航空與交通代碼

早期的航空雷達詢答機 (Transponder) 使用四位數的八進位代碼(如 Squawk 7700)。這是因為早期的處理器架構適合處理 3-bit 的分組數據。

3. UTF-8 編碼字元

在某些程式語言(如 C/C++ 或 Java)中,有時會用八進位轉義序列 (Escape Sequence) 來表示特殊字元,例如 \033 代表 ESC 鍵。

常見問題 (People Also Ask)

Q1:八進位裡面會有 8 或 9 嗎?

絕對不會。

  • 八進位只使用 0 到 7

  • 如果您看到數字 8192,那它肯定是十進位,不能當作八進位來轉換。

Q2:轉換後的二進位長度一定是 3 的倍數嗎?

理論上是。

  • 每個八進位數字都對應 3 個 bit。

  • 例如 12 (Oct) = 001 010 (Bin)。

  • 但有時候最前面的 0 會被省略(例如 1010 而不是 001010),數值是不變的。

Q3:為什麼現在十六進位 (Hex) 比八進位 (Oct) 更常用?

因為電腦架構變了。

  • 現代電腦多為 8-bit (1 Byte), 16-bit, 32-bit, 64-bit。

  • 這些數字都能被 4 整除(適合十六進位),但不能被 3 整除(不適合八進位)。

  • 只有在 Linux 權限這種剛好是 3 個一組 (rwx) 的情境下,八進位才特別好用。

Q4:八進位的 10 等於十進位的 10 嗎?

不是,等於 8。

  • 八進位的 10 代表「進了一位」。

  • 計算:1 × 8 + 0 = 8 (十進位)。

  • 這就像二進位的 10 等於 2 一樣的道理。

Cookie
我們重視您的數據,並希望使用 Cookie 來提升您的體驗