การดำเนินการทางตรรกะคืออะไร

การ ดำเนินการเชิงตรรกะ เป็นสัญลักษณ์หรือคำพิเศษที่เชื่อมโยงสองหรือมากกว่าวลีของข้อมูล มักใช้เพื่อทดสอบว่าความสัมพันธ์บางอย่างระหว่างวลีนั้นเป็นจริงหรือเท็จ

ในการคำนวณจำเป็นต้องใช้การดำเนินการทางตรรกะเนื่องจากสามารถใช้เป็นแบบจำลองข้อมูลที่ไหลผ่านวงจรไฟฟ้าเช่นวงจรภายใน CPU การดำเนินการประเภทนี้เรียกว่าการดำเนินการบูลีน

องค์ประกอบในวงจรที่ทำงานตามตรรกะบูลีนเรียกว่าตรรกะประตู

การดำเนินงานเชิงตรรกะขั้นพื้นฐาน

การดำเนินการเชิงตรรกะทั้งเจ็ดต่อไปนี้จะรับอินพุตที่เป็นจริง (1) หรือเท็จ (0) และสร้างค่าเอาต์พุตเดี่ยวที่เป็นจริงหรือเท็จ

การดำเนินการเหล่านี้ส่วนใหญ่สามารถรับได้มากกว่าสองอินพุตยกเว้นการดำเนินการ NOT ซึ่งใช้เพียงอินพุตเดียวเท่านั้น ด้านล่างเป็นตัวอย่างที่ใช้เพียงหนึ่งหรือสองอินพุตซึ่งเป็นสิ่งที่มักเกิดขึ้นภายในคอมพิวเตอร์

การดำเนินการอยู่ด้านล่าง คลิกที่ลิงค์สำหรับการดำเนินการเพื่อเรียนรู้เพิ่มเติม

  • และ
  • หรือ
  • ไม่
  • NAND
  • NOR
  • แฮคเกอร์
  • XNOR

การดำเนินการตรรกะและผลตอบแทนจริงเมื่ออินพุตทั้งหมดเป็นจริง หากอินพุตใด ๆ เป็นเท็จเอาต์พุตจะเป็นเท็จเช่นกัน

ในการเขียนโปรแกรมคอมพิวเตอร์การดำเนินการ AND มักจะเขียนเป็น && (เครื่องหมายสองอัน)

ในพีชคณิตแบบบูลการดำเนินการ AND ของสองอินพุต A และ B สามารถเขียนเป็น AB

ด้านล่างนี้เป็นตารางความจริงสำหรับการอินพุตและการดำเนินการสองแบบและแผนภาพวงจรของเกตและตรรกะ

และ

B

AB

000
100
010
111

หรือ

การดำเนินการตรรกะหรือผลตอบแทนจริงถ้าปัจจัยการผลิตใด ๆ ของมันเป็นจริง หากอินพุตทั้งหมดเป็นเท็จเอาต์พุตจะเป็นเท็จเช่นกัน

ในการเขียนโปรแกรมคอมพิวเตอร์การดำเนินการ OR มักจะเขียนเป็น || (แถบแนวตั้งสองแถบ)

ในพีชคณิตแบบบูลค่า OR ของสองอินพุต A และ B สามารถเขียนเป็น A + B

หมายเหตุ: อย่าดำเนินการ OR สำหรับการเพิ่มเลขคณิตแม้ว่าทั้งคู่จะใช้สัญลักษณ์ " + " พวกเขามีการดำเนินงานที่แตกต่าง

ด้านล่างเป็นตารางความจริงสำหรับการดำเนินการสองอินพุตหรือและแผนภาพวงจรของเกตตรรกะหรือ

หรือ

B

A + B

000
101
011
111

ไม่

การดำเนินการทางตรรกะไม่คืนค่าจริงถ้าอินพุตเป็นเท็จและเท็จหากอินพุตเป็นจริง

ในการเขียนโปรแกรมคอมพิวเตอร์การดำเนินการ NOT มักจะเขียนเป็น ! (เครื่องหมายอัศเจรีย์)

ในพีชคณิตบูลีนค่า NOT ของอินพุต A สามารถเขียนเป็น (A ที่มี overscore)

ด้านล่างเป็นตารางความจริงสำหรับการดำเนินการ NOT และแผนภาพวงจรของประตูตรรกะไม่

NAND

การดำเนินการเชิงตรรกะของ NAND (ซึ่งหมายถึง "NOT AND") จะส่งกลับค่าจริงถ้าอินพุตใด ๆ เป็นเท็จและเท็จถ้าอินพุตทั้งหมดเป็นจริง

ในพีชคณิตแบบบูลค่า NAND ของสองอินพุต A และ B สามารถเขียนเป็น

(AB พร้อม overscore)

NAND มีความแตกต่างของการเป็นหนึ่งในสองประตูตรรกะ "สากล" เพราะการดำเนินการตรรกะอื่น ๆ สามารถสร้างขึ้นได้โดยใช้ประตู NAND เท่านั้น (อีกหนึ่งประตูตรรกะสากลคือ NOR)

ด้านล่างเป็นตารางความจริงสำหรับการดำเนินการ NAND แบบสองอินพุตและแผนภาพวงจรของเกตตรรกะของ NAND

NAND

B

___

AB

001
101
011
110

NOR

การดำเนินการเชิงตรรกะของ NOR (ซึ่งหมายถึง "NOT OR") จะส่งกลับค่าจริงหากอินพุตทั้งหมดเป็นเท็จและเท็จถ้าอินพุตใด ๆ เป็นจริง

ในพีชคณิตแบบบูลค่า NOR ของสองอินพุต A และ B สามารถเขียนได้เป็น

(A + B ที่มี overscore)

NOR มีความแตกต่างของการเป็นหนึ่งในสองประตูตรรกะ "สากล" เพราะการดำเนินการตรรกะอื่น ๆ สามารถสร้างขึ้นได้โดยใช้ประตู NOR เท่านั้น (อีกหนึ่งประตูตรรกะสากลคือ NAND)

ด้านล่างเป็นตารางความจริงสำหรับการดำเนินการ NOR สองอินพุตและแผนภาพวงจรของเกตตรรกะของ NOR

NOR

B

_____

A + B

001
100
010
110

แฮคเกอร์

การดำเนินการเชิงตรรกะของแฮคเกอร์ (ซึ่งหมายถึง "Exclusive OR" จะส่งกลับค่าจริงถ้าอินพุตใด ๆ ของมันแตกต่างกันและเป็นเท็จถ้ามันเหมือนกันทั้งหมดในคำอื่น ๆ ถ้าอินพุตของมันเป็นการรวมกันของจริงและเท็จ true หากอินพุตของมันเป็นจริงทั้งหมดหรือเท็จทั้งหมดเอาต์พุตของ XOR เป็นเท็จ

ในพีชคณิตแบบบูลค่า XOR ของทั้งสองอินพุต A และ B สามารถเขียนเป็น A⊕B (สัญลักษณ์ XOR, ⊕คล้ายกับเครื่องหมายบวกภายในวงกลม)

ด้านล่างเป็นตารางความจริงสำหรับการดำเนินการ XOR สองอินพุตและแผนภาพวงจร:

แฮคเกอร์

B

A⊕B

000
101
011
110

XNOR

การดำเนินการเชิงตรรกะของ XNOR (ซึ่งหมายถึง "Exclusive NOT OR" จะส่งกลับค่าจริงหากอินพุตทั้งหมดนั้นเหมือนกันและเป็นเท็จหากมีสิ่งใดที่แตกต่างกันกล่าวอีกนัยหนึ่งถ้าอินพุตของมันเป็นการรวมกันของจริงและเท็จ XNOR เป็นเท็จหากอินพุตของมันเป็นจริงทั้งหมดหรือเท็จทั้งหมดเอาต์พุตของ XNOR จะเป็นจริง

ในพีชคณิตแบบบูลค่า XNOR ของสองอินพุต A และ B สามารถเขียนเป็น

.

ด้านล่างเป็นตารางความจริงสำหรับการดำเนินการ XNOR สองอินพุตและแผนภาพวงจร:

XNOR

B

_____

A⊕B

001
100
010
111

  • ฉันจะสร้างโปรแกรมคอมพิวเตอร์ได้อย่างไร

Accumulator, Boolean, Idempotence, Operator, เงื่อนไขการเขียนโปรแกรม