歡迎來到數系(Number Bases)的世界!

你好!你有沒有想過,電腦本質上只是一堆細小的開關,到底是怎樣處理複雜的遊戲、影片或社交媒體的呢?這一切都源於我們如何表示數值。在本章中,我們將會探討不同的數系(Number Bases)。學完之後,你就能夠掌握「電腦語言」,了解二進制(Binary)十六進制(Hexadecimal),並明白為何這些系統對於機器來說,比我們日常使用的數字系統更有效率。

不用擔心數學不是你的強項!我們會透過簡單的規律和技巧,一步步為你拆解這些概念。


1. 理解「進制」(Base)

在研究電腦之前,先看看人類是如何數數的。我們使用十進制(Decimal/Denary,或稱為 Base 10)。這是因為我們有十根手指!

在十進制中,我們有十個符號:0, 1, 2, 3, 4, 5, 6, 7, 8, 9。當我們數到 9 時,符號就用完了,必須「進位」到下一欄(即「十位」)。

等等,什麼是其他進制?

「進制」簡單來說就是該系統中可用的數字有多少個。電腦並沒有十根手指;它只有開啟(ON)關閉(OFF)兩種狀態的開關。這就是為什麼電腦使用二進制(Base 2)的原因。

快速回顧:你需要知道的三種進制

  • 十進制(Base 10): 使用 0-9 的數字。(例如:\( 67_{10} \))
  • 二進制(Base 2): 只使用 0 和 1。(例如:\( 10011011_2 \))
  • 十六進制(Base 16): 使用 0-9 的數字和 A-F 的字母。(例如:\( AE_{16} \))

你知道嗎?寫在數字右下角的小數字(如 \( 67_{10} \) 中的 \( _{10} \))稱為下標(Subscript)。它告訴我們正在使用哪種進制,以免混淆!

重點總結:「進制」定義了可用的數字數量。人類喜歡十進制,但電腦喜歡二進制。


2. 二進制:電腦的語言

二進制中,每一欄的價值都是其右側的一欄的兩倍。我們不再使用百位、十位和個位,而是使用 128、64、32、16、8、4、2 和 1。

如何將二進制轉換為十進制

要把二進制轉換成你熟悉的數字,只需畫一個表格,並把「ON」(即 1)對應的值加起來即可。

例子:將 \( 10101000_2 \) 轉換為十進制

1. 寫下位值標題:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1

2. 在下方填入你的二進制數字:
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0

3. 只將下方對應 1 的數字加起來:
\( 128 + 32 + 8 = 168 \)

所以,\( 10101000_2 = 168_{10} \)。

如何將十進制轉換為二進制

這就像往桶子裡裝東西。從最大的「重量」(128)開始,看看它是否能放入你的數字中。

例子:將 \( 45_{10} \) 轉換為二進制

1. 128 能放入 45 嗎?不能 (0)
2. 64 能放入 45 嗎?不能 (0)
3. 32 能放入 45 嗎?能!填入 1。(剩餘:\( 45 - 32 = 13 \))
4. 16 能放入 13 嗎?不能 (0)
5. 8 能放入 13 嗎?能!填入 1。(剩餘:\( 13 - 8 = 5 \))
6. 4 能放入 5 嗎?能!填入 1。(剩餘:\( 5 - 4 = 1 \))
7. 2 能放入 1 嗎?不能 (0)
8. 1 能放入 1 嗎?能!填入 1。
結果:\( 00101101_2 \)

常見錯誤:忘記檢查最後的「1」欄位。請務必確保你已經算到最右邊!

重點總結:使用 2 的冪次方表(1、2、4、8、16、32、64、128)來進行互換。


3. 十六進制:人類的「速記法」

二進制對電腦來說很棒,但對人類來說卻是噩夢。試著想像要在滿滿的一頁 1011010111000101... 中找出錯誤!

這就是我們使用十六進制(Base 16)的原因。它就像是二進制的「暱稱」。

十六進制的「字母表」

因為我們需要 16 個不同的符號,但只有 10 個數字(0-9),所以我們用字母來代表其餘部分:

A = 10, B = 11, C = 12, D = 13, E = 14, F = 15。

記憶小撇步:只要記住 A 是 10。知道了這點,你就可以用手指數出來(B=11, C=12,依此類推)。

為什麼十六進制被用作速記?

一個十六進制數字正好代表四個位元(bits)。這使得兩者之間的轉換非常容易。

  • 它更簡短且更容易記憶。
  • 人類在輸入時比較不容易出錯
  • 程式設計師很容易在腦中將其轉換為二進制。

重點總結:十六進制並非由電腦硬體直接「使用」;它是給使用的,目的是讓處理二進制變得更輕鬆。


4. 十六進制與二進制之間的轉換

這是所有轉換中最簡單的,因為我們使用「四位一組」法則。

二進制轉十六進制(步驟)

例子:將 \( 11101011_2 \) 轉換為十六進制

1. 將二進制數字從右邊開始,每四個分成一組:
1110 | 1011

2. 使用 8, 4, 2, 1 計算每一組的值:
左邊:\( 8 + 4 + 2 = 14 \)。在十六進制中,14 是 E
右邊:\( 8 + 2 + 1 = 11 \)。在十六進制中,11 是 B

3. 合併起來:EB

十六進制轉二進制(步驟)

例子:將 \( 2F_{16} \) 轉換為二進制

1. 將每個數字分開處理:2F

2. 將每個數字轉換為 4 位元的二進制數:
2 是 \( 0010 \)
F(即 15)是 \( 1111 \)

3. 合併起來:\( 00101111_2 \)

快速回顧框:
4 個位元 = 1 個十六進制位
在十六進制和二進制之間進行任何轉換時,請使用 8, 4, 2, 1 的數值。

重點總結:要進行十六進制轉換,請務必先經過二進制。這是最安全的「橋樑」!


總結檢查清單

你能做到以下幾點嗎?如果可以,你已經準備好考試了!

  • 解釋什麼是 Base 2、10 和 16。
  • 使用位值表將二進制數字轉換為十進制。
  • 透過「減法」將十進制數字轉換為二進制。
  • 解釋為什麼使用十六進制,因為它對人類而言更易於閱讀和書寫。
  • 透過四位一組的方式在二進制和十六進制之間進行轉換。

做得好!數據表示法可能聽起來像是在學習秘密代碼,但一旦你掌握了規律,它就會變成你的第二天性。繼續練習那些 8, 4, 2, 1 表格吧!