透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

十進位數值
3
base 10(十進位)
位元數 2

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

二進位轉十進位轉換器,能把以 base 2 表示(只用 0 和 1 兩個數字)的數值,換算成我們日常使用的 base 10 十進位數字。電腦底層的儲存與運算全都以二進位進行,因此每當你需要把原始位元、記憶體傾印、網路遮罩或程式輸出轉換成人類看得懂的數值時,二進位轉十進位就派上用場。

使用方式

在欄位中輸入你的二進位數字——例如 101101——轉換器就會回傳對應的十進位數值,並顯示位元數。任何非 0 或 1 的字元都會自動忽略,所以你也可以放心貼上以空格分組的寫法,例如 1011 0101

公式說明

每一個二進位數字(位元)都帶有一個位值權重,等於 2 的次方,從最右邊以 0 開始往左計算。十進位數值就是每個位元乘上其權重後的總和:

$$\text{Decimal} = \sum_{i=0}^{n-1} d_i \cdot 2^{\,n-1-i}, \quad d_i \in \text{Binary Number}$$

最右邊的位元權重是 \(2^0 = 1\),下一位是 \(2^1 = 2\),再來是 \(2^2 = 4\)、\(2^3 = 8\),依此類推。

Binary digits aligned under their positional powers of two
Each bit is multiplied by a power of two based on its position.

實例演算

101101 為例,從右往左對應的權重為 1、2、4、8、16、32:

$$(1\cdot32) + (0\cdot16) + (1\cdot8) + (1\cdot4) + (0\cdot2) + (1\cdot1) = 32 + 8 + 4 + 1 = \mathbf{45}$$。因此二進位 101101 等於十進位 45。

Step-by-step conversion of binary 1011 into decimal by summing weighted bits
Summing the weighted bits of 1011 gives the decimal value 11.

二的乘方位置權重

在二進制數中,每個比特的位置權重等於2的乘方。最右邊的比特(位置0)的權重為\(2^0 = 1\),每向左移動一個位置,權重就加倍。要手工轉換,請將每個比特乘以其權重並加上結果:

$$\text{十進制} = \sum_{i=0}^{n-1} d_i \cdot 2^{\,i}$$

其中\(i\)從右邊開始計算位置(最不重要的比特),從0開始。

比特位置\(i\) 乘方\(2^i\) 十進制權重
0 \(2^0\) 1
1 \(2^1\) 2
2 \(2^2\) 4
3 \(2^3\) 8
4 \(2^4\) 16
5 \(2^5\) 32
6 \(2^6\) 64
7 \(2^7\) 128
8 \(2^8\) 256
9 \(2^9\) 512
10 \(2^{10}\) 1,024
11 \(2^{11}\) 2,048
12 \(2^{12}\) 4,096
13 \(2^{13}\) 8,192
14 \(2^{14}\) 16,384
15 \(2^{15}\) 32,768
16 \(2^{16}\) 65,536

對於8位字節,最大值為\(2^8 - 1 = 255\)(所有八個比特都設為1),對於16位,最大值為\(2^{16} - 1 = 65{,}535\)。

更多完成的範例

每個範例都將每個比特與上表中的位置權重對齊,僅保留比特為1的位置的權重,並相加以得到十進制值。

範例1:11111111(8位全部設為1)

每個比特都是1,所以我們從位置7到位置0加上所有八個權重:

$$128 + 64 + 32 + 16 + 8 + 4 + 2 + 1$$

總數為255,這是8位字節可以保存的最大值。

範例2:10000000

只有最左邊的比特(位置7)為1;所有其他位置貢獻0:

$$1\cdot128 + 0\cdot64 + 0\cdot32 + 0\cdot16 + 0\cdot8 + 0\cdot4 + 0\cdot2 + 0\cdot1$$

這簡化為單個權重\(2^7\),得到128

範例3:110010101(9位)

將比特與其位置權重一起寫出,1位在位置8、7、4、2和0:

比特 1 1 0 0 1 0 1 0 1
位置 8 7 6 5 4 3 2 1 0
權重 256 128 64 32 16 8 4 2 1

僅將比特為1的位置的權重相加:

$$256 + 128 + 16 + 4 + 1$$

十進制結果為405。您可以使用十進制轉二進制轉換器通過輸入405來確認反向方向,並檢查它是否返回110010101。

常見問題

8 位元最大的二進位數字是多少?答案是 11111111,換算成十進位等於 255(也就是 \(2^8 - 1\))。

可以輸入開頭的零嗎?可以。開頭的零不會改變數值——0010 和 10 是一樣的,兩者都等於十進位的 2。

能處理二進位小數嗎?不行,本工具只能轉換整數型的二進位數字,小數點後的部分並不支援。

最後更新: