歡迎來到數字系統!

歡迎來到 AQA 電腦科學課程中最基礎的章節之一!在我們了解電腦如何儲存照片、播放音樂或執行遊戲之前,必須先理解它們所使用的「語言」。雖然我們是用十根手指來數數,但電腦是用電力來運作的——這完全是另一回事。如果一開始覺得這裡「數學味」太重,不用擔心,我們會把它拆解成簡單易懂的步驟。

1. 數字分類

在電腦科學中,我們不只是單純地看「數字」,而是會根據它們的用途將其分組。你可以把它們想像成電腦裡不同的「資料夾」。

自然數 (Natural Numbers) \( (\mathbb{N}) \)

這是最基本的「計數」數字。AQA 將其定義為從零開始。
• 集合: \( \{0, 1, 2, 3, \dots\} \)
例子: 房間裡的人數或資料夾中的檔案數量。

整數 (Integer Numbers) \( (\mathbb{Z}) \)

這是完整的數字,可以是正數、負數或零
• 集合: \( \{\dots, -2, -1, 0, 1, 2, \dots\} \)
例子: 銀行帳戶餘額(如果你花太多錢,餘額可能是負數!)或溫度讀數。

有理數 (Rational Numbers) \( (\mathbb{Q}) \)

可以把「有理數」聯想到「比例」(Ratio)。這些數字可以寫成分數 \( (a/b) \)。這包含了所有整數,因為 \( 7 \) 其實就是 \( 7/1 \)。
例子: \( 1/2 \)、 \( 0.75 \) 或 \( -3/4 \)。

無理數 (Irrational Numbers)

這些數字無法寫成簡單的分數。它們的小數部分會無限延伸且沒有規律。
例子: \( \sqrt{2} \) 或 \( \pi \) (圓周率)。
常見錯誤: 許多學生認為 \( 3.14 \) 是無理數,但它實際上是有限小數(有理數)。真正的 \( \pi \) 是永遠不會結束的!

實數 (Real Numbers) \( (\mathbb{R}) \)

這是「主集合」,包含了上述所有數字(自然數、整數、有理數和無理數)。實數代表現實世界中任何可能的測量值。

序數 (Ordinal Numbers)

這些不作運算之用,而是用來表示位置排名
例子: 如果你有一組列表 \( \{A, B, C\} \),那麼 'A' 是第 1 個物件,'B' 是第 2 個,依此類推。
記憶小撇步: Ordinal (序數) = Order (順序)。

快速複習:計數與測量

• 使用自然數進行計數(例如 5 個蘋果)。
• 使用實數進行測量(例如一條繩子長 5.23 公分)。

重點總結: 不同的任務需要不同的數字類型。如果你只需要計數,\( \mathbb{N} \) 就足夠了;如果你需要測量宇宙,就需要 \( \mathbb{R} \)。


2. 數字進位 (Number Bases)

「進位」告訴我們該數字系統中有多少個可用數字。

十進位 (Decimal, Base 10)

我們日常使用的系統,使用 10 個數字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9

二進位 (Binary, Base 2)

電腦的「母語」。它只使用 2 個數字:0 和 1。電腦之所以使用這種方式,是因為它們是由微小的開關組成,這些開關要麼是關閉 (OFF, 0),要麼是開啟 (ON, 1)

十六進位 (Hexadecimal, Base 16)

這個系統使用 16 個數字。由於數字 9 之後就不夠用了,我們使用字母:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15)
為什麼要用它? 二進位對人類來說很難閱讀(例如 10101110)。十六進位是一種縮寫,讓二進位更容易管理。一個十六進位數字剛好代表四個二進位位元!

你知道嗎? 你每天在網頁設計中都會看到十六進位!HTML 顏色代碼(如 #FF5733)就是使用十六進位來告訴電腦該顯示多少紅、綠和藍色。


3. 轉換步驟

二進位轉十進位

1. 寫下該二進位數。
2. 從右邊開始,在上方寫下「位權」(2 的冪次):128, 64, 32, 16, 8, 4, 2, 1。
3. 將下方對應為 '1' 的位權加總。
例子: \( 1011_2 \)
• 位權:(8, 4, 2, 1) -> \( 8 + 0 + 2 + 1 = 11_{10} \)。

十進位轉二進位

1. 使用「餘數法」(不斷除以 2)或「減法」(減去最大的 2 的冪次)。
以 13 為例的減法:
• 可以減去 8 嗎?可以(剩下 5)。寫下 1。
• 可以減去 4 嗎?可以(剩下 1)。寫下 1。
• 可以減去 2 嗎?不行。寫下 0。
• 可以減去 1 嗎?可以(剩下 0)。寫下 1。
• 結果: \( 1101_2 \)。

二進位轉十六進位

1. 從右邊開始,將二進位數每 4 個位元分成一組。
2. 將每組 4 個位元轉換為對應的十六進位數字。
例子: \( 10111110_2 \)
• 分組: \( 1011 \) | \( 1110 \)
• \( 1011 = 11 \) (即 B
• \( 1110 = 14 \) (即 E
• 結果: \( BE_{16} \)。

重點總結: 為標示所使用的進位系統,請使用下標,例如 \( 101_{10} \) (十進位) 與 \( 101_2 \) (二進位)。


4. 資訊單位

我們如何衡量「資料」?

位元 (Bit) 與 位元組 (Byte)

位元 (Bit): 最小單位,單一個 0 或 1。
位元組 (Byte): 8 個位元為一組。
\( 2^n \) 規則: 使用 \( n \) 個位元,你可以表示 \( 2^n \) 種不同的數值。
例子: 3 個位元可以表示 \( 2^3 = 8 \) 種不同的數值(從 000 到 111)。

單位前綴陷阱:二進位 vs 十進位

這是很多學生丟分的地方!衡量大量資料的方法有兩種。

十進位前綴(10 的冪次)

這是你在物理課或行銷儲存設備時會看到的。
kilo (k): \( 10^3 = 1,000 \)
mega (M): \( 10^6 = 1,000,000 \)
giga (G): \( 10^9 = 1,000,000,000 \)
tera (T): \( 10^{12} = 1,000,000,000,000 \)

二進位前綴(2 的冪次)

電腦科學家更傾向使用這些,因為它們符合記憶體實際的運作方式。
kibi (Ki): \( 2^{10} = 1,024 \)
mebi (Mi): \( 2^{20} = 1,048,576 \)
gibi (Gi): \( 2^{30} = 1,073,741,824 \)
tebi (Ti): \( 2^{40} = 1,099,511,627,776 \)

記憶技巧: 如果名稱中含有「i」(例如 kibi),它就屬於 binary (二進位) 系統(2 的冪次)!

快速複習:
• 1 Kilobyte (kB) = 1,000 bytes。
• 1 Kibibyte (KiB) = 1,024 bytes。
• 歷史上,人們在實際指 1,024 時也會說「kilobyte」。但在考試中,請務必精確區分!

重點總結: 電腦使用二進位前綴,因為它們是建立在 2 的冪次之上。使用 1,000 只是近似值;1,024 才是硬體真實的運作邏輯。