Day 1:二進位與電腦的邏輯(30 分鐘新手版)
用「湊零錢」秒懂十進位轉二進位,再學會 AND / OR / NOT 三大邏輯閘,最後翻譯成程式碼裡的 && 和 ||。
我們不談深奧的數學,只用直覺和生活例子,帶你秒懂電腦是怎麼思考的!這是 13 天轉職甄試衝刺大綱的 Day 1。
📅 前言:為什麼電腦只懂 0 與 1?
我們人類有 10 隻手指頭,所以習慣用「十進位」(數到 9 之後,再加 1 就會進位變成 10)。
但電腦的腦袋是由無數個微小的電子開關組成的:
- 開(ON) ➔ 我們用
1代表。 - 關(OFF) ➔ 我們用
0代表。
這就是二進位的由來!接下來,我們要用 15 分鐘學會如何和電腦用同一種語言「數數」。
⏳ 第 1~15 分鐘:二進位與十進位輕鬆換算
要學會二進位,你只需要記住一張「數字骨架表」。在二進位中,從最右邊開始,每一個位置代表的數值都是前一個的 2 倍:
| 32 | 16 | 8 | 4 | 2 | 1 |
|---|
💡 超實用口訣: 只要記住從最右邊的
1開始,往左邊每次都乘以 2 ➔ 1、2、4、8、16、32...
✍️ 實戰 1:把「十進位」換成「二進位」
新手秘訣: 想像你在「湊零錢」。拿著你的數字,從骨架表左邊(最大的數)開始扣,扣得掉就寫
1(代表要用這個硬幣),扣不掉就寫0(代表不用)。
範例 A:把「13」換成二進位
- 能扣掉 8 嗎?可以!(13 - 8 = 剩 5) ➔ 8 的位置寫
1 - 剩下的 5 能扣掉 4 嗎?可以!(5 - 4 = 剩 1) ➔ 4 的位置寫
1 - 剩下的 1 能扣掉 2 嗎?不行! ➔ 2 的位置寫
0 - 剩下的 1 能扣掉 1 嗎?可以!(1 - 1 = 剩 0) ➔ 1 的位置寫
1
連起來:十進位的 13,在二進位就是 1101。
範例 B:把「25」換成二進位
- 25 可以扣掉 16(剩 9) ➔ 16 的位置寫
1 - 9 可以扣掉 8(剩 1) ➔ 8 的位置寫
1 - 1 扣不掉 4 ➔ 4 的位置寫
0 - 1 扣不掉 2 ➔ 2 的位置寫
0 - 1 可以扣掉 1(剩 0) ➔ 1 的位置寫
1
連起來:十進位的 25,在二進位就是 11001。
✍️ 實戰 2:把「二進位」換成「十進位」
新手秘訣: 這更簡單了!把二進位的數字對齊「骨架表」,只要底下是
1的,就把上面的數值通通加起來!
範例 C:把二進位 101101 換成十進位
| 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|
| 1 | 0 | 1 | 1 | 0 | 1 |
把對應到 1 的上方數值圈起來相加: 32 + 8 + 4 + 1 = 45
二進位的 101101 換算過來就是:45。
⏳ 第 16~25 分鐘:電腦是如何做決定的?(三大邏輯閘)
電腦做判斷時非常無情,只有兩種答案:True(對 / 1) 或 False(錯 / 0)。它用以下三種基本邏輯來做判斷:
1. AND(而且)➔ 極度嚴格的考官
💡 生活例子: 去遊樂園玩某個雲霄飛車,必須「身高滿 140 公分」而且「有家長陪同」。少一項都不行!
規則:兩個條件都必須是 True,結果才是 True。
| 條件 A | 條件 B | 結果 (A AND B) |
|---|---|---|
| False (0) | False (0) | False (0) |
| False (0) | True (1) | False (0) |
| True (1) | False (0) | False (0) |
| True (1) | True (1) | True (1) |
2. OR(或者)➔ 體貼寬容的暖男
💡 生活例子: 出門時,只要「外面下雨」或者「太陽太大」,我都會帶雨傘。只要符合其中一項(或兩者都有)就會帶。
規則:只要有任意一個條件是 True,結果就是 True。
| 條件 A | 條件 B | 結果 (A OR B) |
|---|---|---|
| False (0) | False (0) | False (0) |
| False (0) | True (1) | True (1) |
| True (1) | False (0) | True (1) |
| True (1) | True (1) | True (1) |
3. NOT(相反)➔ 唱反調大師
💡 生活例子: 媽媽說不能出去玩(False),你偏要出去(True)。它就是把結果直接反轉。
規則:輸入 True 變成 False;輸入 False 變成 True。
| 輸入 A | 結果 (NOT A) |
|---|---|
| False (0) | True (1) |
| True (1) | False (0) |
⏳ 第 26~30 分鐘:將生活規則翻譯成程式碼
在程式的世界裡,我們會把這些邏輯寫成判斷式。常用的符號如下:
- AND 的程式符號是:
&& - OR 的程式符號是:
||
實戰練習 1:電商免運規則
生活規則:「必須是 VIP 會員 並且 消費滿 1000 元 才能免運。」
isVip && spendAmount >= 1000
實戰練習 2:出門穿外套規則
生活規則:「只要 外面下雨 或者 氣溫低於 15 度,我就會穿外套。」
isRaining || temperature < 15
🎯 目標
- 能把「十進位 ↔ 二進位」轉換講清楚並手算
- 能用真值表解釋 AND / OR / NOT,並把生活規則翻成邏輯條件
📝 重點筆記
- 二進位是位元(bit)的組合:32、16、8、4、2、1
- AND:兩個都 true 才 true;OR:任一 true 就 true;NOT:反轉
✍️ 小練習
- 13、25 轉二進位;
101101轉十進位 - 寫 AND / OR / NOT 真值表
- 把規則寫成條件:會員且滿額、下雨或低溫