2.2 電腦世界的運算 - 1 跟 0 的邏輯運算

布林代數

  在電腦世界裡除了前面章節所提到的以二進位表示數字外,可還有很多事情等著電腦去做呢!例如:電腦要隨時檢查你現在是不是點擊叉叉關掉了頁面,此時科學家會以「1」和「0」來表示「是」或「不是」,這稱為「布林代數」。

補充:
當你···
點擊了叉叉→電腦以1(有、成立)→ 表示布林代數內稱作「True真」
沒有點擊叉叉→電腦以0(沒有、不成立)→ 表示布林代數內稱作「False假」

邏輯閘

  當然電腦不只要隨時判斷你是不是點擊了叉叉,還要處理許多事,假設他一次遇到下列這三種情況,他又該怎麼辦?

  1. 電腦要隨時檢查你是不是點擊了叉叉

  2. 電腦要隨時檢查你是不是按了F5鍵

  3. 電腦要隨時檢查你是不是同時按了叉叉和F5這兩顆鍵 

此時就必須要介紹到此篇的重點「邏輯閘」!電腦語言中有無數的0和1,這些0和1經過不同的邏輯閘就會產生出不同的結果。邏輯閘有七種,分別為NOT、OR、AND、XOR、NOR、NAND、XNOR,看到這邊你應該真的想點擊叉叉了,其實你只要搞懂前面四個NOT、OR、AND、XOR,剩下的NOR、NAND、XNOR都只是他們的相反啦!

1. NOT

反相閘(NOT Gate):只有一個輸入端和一個輸出端,輸出狀態與輸入狀態恰好相反,即「遇1則0,遇0則1」,所以NOT閘又稱為反相器(Inverter)。

舉例:
反向閘就好像你說自己有妹妹的時候,內建反向器(NOT Gate)的廣大鄉民會回答:「你沒有妹妹!」

2. OR

或閘(OR Gate):作用於最少兩個輸入端,只要有一個輸入端為 1,輸出端就是1,即「遇1則1」,或是「當所有輸入端皆為0,則輸出方為0」。

舉例:
或閘就像是當女朋友說「對」的時候,這件事就是真理!

3. AND

及閘(AND Gate):作用於最少兩個輸入,剛好與「遇1則1」的或閘相反,及閘是「遇0則0」,而當所有輸入端皆為1,輸出才會是1。

舉例:
「我是一個非本科系學生,我正在學邏輯閘。」
當有人說「我是一個非本科系學生,但我沒有在學邏輯閘」這句話就算錯

4. XOR

互斥或閘(XOR Gate):當輸入端有奇數個1 時,輸出為1,否則輸出0。

舉例:
當你到了一家餐廳,牛排的套餐搭配「沙拉」或是「麵包」,
你一定要選擇其中一個,不能都不要,也不能貪吃的說我都要!
考考你:假設有三個輸入(A/B/C),請依照下表畫出輸出X!

5. NOR

反或閘(NOR Gate):NOR(反或閘)就是OR(或閘)的相反,OR是「遇1則1」,NOR則是「遇1則0」,當所有輸入端都是0,輸出才是1。

6. NAND

反及閘(NAND Gate):NAND(反及閘)就是AND(及閘)的相反,AND是「遇0則0」,NAND則是「遇0則1」,即所有輸入端都是 1,輸出才是0。

7. XNOR

反互斥或閘(XNOR Gate):XOR(互斥或閘)的相反,當輸入端有偶數個1時(0個1也算哦~),輸出為1,否則輸出為0。

小結

邏輯閘是不是也沒想像中那麼難理解呢?它是數位邏輯設計中最基本且重要的元件,在使用上非常多元,各種不同的邏輯閘搭配起來的效果皆不同,經過邏輯閘輸入輸出後確認無誤後,就可以發揮效能喔!

Last updated