十進位轉二進位轉換器
搞懂電腦的思維:將人類使用的數字轉換為機器的 0 與 1
為什麼需要將十進位轉成二進位?
我們人類因為有十根手指頭,所以習慣使用 十進位 (Decimal, 0-9);但電腦是由無數個開關組成的,它只知道「開」與「關」,所以它使用的是 二進位 (Binary, 0-1)。
當您輸入數字 13 時,電腦內部其實是把它存成 1101。這款 十進位轉二進位轉換器 能幫助您跨越這兩種思維模式,特別是在計算網路 IP 位址、子網遮罩 (Subnet Mask) 或是進行位元運算時,這個轉換過程至關重要。
核心原理:電腦如何儲存數字?
十進位是「逢十進一」,二進位則是「逢二進一」。
-
十進位 (Base-10): 位數權重是 $10^0, 10^1, 10^2...$ (個、十、百)。
-
二進位 (Base-2): 位數權重是 $2^0, 2^1, 2^2...$ (1, 2, 4, 8, 16, 32...)。
例如二進位的 1101 代表:
$(1 \times 8) + (1 \times 4) + (0 \times 2) + (1 \times 1) = 13$。
如何手動計算? (短除法教學)
不想依賴工具?最經典的手算方法是 「除以 2 取餘數法」。
範例:將 13 轉為二進位
請不斷將數字除以 2,並把「餘數」寫在旁邊,直到商數為 0 為止。
-
13 ÷ 2 = 6 ... 餘 1
-
6 ÷ 2 = 3 ... 餘 0
-
3 ÷ 2 = 1 ... 餘 1
-
1 ÷ 2 = 0 ... 餘 1
關鍵步驟: 將餘數 「由下往上」 (或由後往前) 排列。
結果: 1101。
常見的應用場景
1. 網路工程:IP 位址計算
這是 IT 人員最常用的場景。
-
IPv4 位址由 4 組數字組成,例如
192.168.1.1。 -
電腦看這組 IP 其實是:
11000000.10101000.00000001.00000001 -
在計算「子網遮罩」時,您必須將十進位的 255 轉為二進位的
11111111,才能判斷網段範圍。
2. 權限設定 (Linux chmod)
Linux 系統的檔案權限常看到 755 或 777。
-
數字 7 其實是二進位的
111。 -
代表 Read (4) + Write (2) + Execute (1) 全部開啟。
-
透過二進位,您可以理解為什麼是用 1, 2, 4 這三個數字來加總。
常見問題 (People Also Ask)
Q1:二進位的 10 是代表十嗎?
不是,是代表「二」。
-
在二進位中,寫作
10唸作 "One-Zero"。 -
它代表 $(1 \times 2) + (0 \times 1) = 2$。
-
同理,二進位的
100是四,1000是八。
Q2:為什麼有時候前面要補 0?
為了湊滿 Byte (位元組) 的格式。
-
數字 5 的二進位是
101(3 位數)。 -
但在電腦記憶體中,通常以 8 位元為一組儲存,所以會寫成
00000101。 -
補 0 不會改變數值大小,就像 05 和 5 是一樣的意思。
Q3:最大的 8 位元二進位數字是多少?
255。
-
11111111(8 個 1)。 -
這就是為什麼 IP 位址的最大值是 255,也是為什麼色碼 (RGB) 的最大值是 255 的原因。
Q4:小數點 (浮點數) 可以轉二進位嗎?
可以,但算法不同。
-
整數部分用「除以 2」。
-
小數部分用「乘以 2」。
-
不過浮點數在電腦中是遵循 IEEE 754 標準 (包含符號位、指數位、尾數位),比單純的進位轉換複雜得多。本工具主要針對整數進行轉換。