透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

八進位數值(base 8)
326
from binary 11010110
二進位(base 2) 11010110
八進位(base 8) 326
十進位(base 10) 214

什麼是二進位轉八進位轉換器?

這個工具可以把以二進位(base 2,只使用 0 和 1 兩個數字)寫成的數字,轉換為八進位(base 8,使用 0~7 的數字)。八進位是表示二進位的一種精簡方式,因為每三個二進位位元剛好對應一個八進位數字。轉換器同時會顯示對應的十進位(base 10)數值,方便你核對結果是否正確。

使用方法

在輸入框中鍵入一個二進位數字,例如 101110,然後送出。計算機會先驗證每個字元都是 0 或 1,接著回傳八進位數值、原始的二進位數字,以及對應的十進位數值。開頭的前導零會自動處理,不用擔心。

公式說明

由於 \(2^3 = 8\),三個二進位位元可以編碼成一個八進位數字。從最右邊開始,把二進位字串每三位元分成一組,若最左邊一組位元不足,就在前面補零。每一組都用以下公式來換算,得到 0 到 7 之間的數值。最後把這些數字串接起來,就是八進位結果。

$$\text{Octal} = \left( \text{Binary}_2 \right)_{2 \to 8}$$

$$\begin{gathered} \text{Octal}_8 = \sum_{i=0}^{k-1} g_i \cdot 8^{\,i} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{Binary} &= b_{n-1}b_{n-2}\cdots b_1 b_0 \;(\text{base }2) \\ g_i &= 4b_{3i+2} + 2b_{3i+1} + b_{3i} \\ k &= \lceil n/3 \rceil \text{ groups of 3 bits} \end{aligned} \right. \end{gathered}$$

從右起每三位一組的二進位數字,每組對應一位八進位數
二進位數字(從右開始)每三位分為一組,每組轉換為一位八進位數。

實際範例

101110 為例。從右邊開始每三位元分組:101110。第一組是 \(4\cdot1 + 2\cdot0 + 1\cdot0 = 5\);第二組是 \(4\cdot1 + 2\cdot1 + 1\cdot0 = 6\)。因此八進位結果為 56。驗算一下,其十進位數值為 $$32 + 8 + 4 + 2 = 46.$$

將二進位數轉換為八進位的三步範例
範例的分步分組:補零、每三位分組、逐組轉換。

二進制到八進制群組轉換表

二進制到八進制的轉換之所以有效,是因為 \(8 = 2^3\)。每個八進制數字恰好對應於三個二進制位的一個群組(三位元組)。要進行轉換,請從右邊開始將二進制數字分成 3 位的群組,如果需要則用前導零填充最左邊的群組,然後將每個三位元組替換為下表中的單個八進制數字。

3 位二進制(三位元組) 八進制數字 十進制值
000 0 0
001 1 1
010 2 2
011 3 3
100 4 4
101 5 5
110 6 6
111 7 7

每個三位元組的位值為 \(4,\ 2,\ 1\)(即 \(2^2, 2^1, 2^0\))。例如,\(101_2 = 1\times4 + 0\times2 + 1\times1 = 5\),得到八進制數字 \(5\)。

更多解題示例

範例 1:\(11_2\) → 八進制

從右邊分組成 3 位三位元組,用零填充左邊:\(11 \to 011\)。

$$011_2 = 0\times4 + 1\times2 + 1\times1 = 3$$

所以 \(11_2 = \)3\(_8\)。其十進制值也是 3

範例 2:\(11010110_2\) → 八進制

從右邊分成三位元組;最左邊的群組需要填充零:\(11\,010\,110 \to 011\,010\,110\)。

三位元組 011 010 110
八進制數字 3 2 6

從左到右讀取數字得 \(11010110_2 = \)326\(_8\)。作為十進制值,此二進制等於 214

範例 3:較長的字符串 \(101110011001_2\)

這是 12 位,已經是 3 的倍數,因此不需要填充。從右邊分組:

三位元組 101 110 011 001
八進制數字 5 6 3 1

因此 \(101110011001_2 = \)5631\(_8\)。相同的十進制值確認為 2969

常見問題

為什麼要以三位元為一組?因為 \(8 = 2^3\),每個八進位數字剛好代表三個位元,所以這個轉換是乾淨俐落且不會遺失資訊的重新分組。

如果位元數不是三的倍數怎麼辦?我們會在左側補零,這並不會改變原本的數值。

可以輸入小數點嗎?這個轉換器只處理完整的二進位整數。轉換前請先移除任何小數部分。

最後更新: