八進位轉二進位轉換器
搞懂 Linux 權限設定:將 755, 644 等八進位代碼轉換為二進位訊號
為什麼需要將八進位轉成二進位?
在現代電腦世界,十六進位 (Hex) 雖然是主流,但在 UNIX / Linux 系統 中,八進位 (Octal) 依然是王道。
當您在設定網站伺服器權限時,一定輸入過 chmod 777 或 chmod 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 權限數字。我們將它拆成三個獨立的數字來看:
-
轉換 7: 4 + 2 + 1 = 7。對應二進位 111。
-
轉換 5: 4 + 0 + 1 = 5。對應二進位 101。
-
轉換 5: 4 + 0 + 1 = 5。對應二進位 101。
-
合併:
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。
-
如果您看到數字
81或92,那它肯定是十進位,不能當作八進位來轉換。
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 一樣的道理。