บทนำ

  • เมื่อไม่นานมานี้มีโอกาสได้อธิบายตัวดำเนินการ XOR เดิมทีการเรียนรู้ XOR เป็นสิ่งจำเป็นสำหรับการจัดการบิตระดับล่างในคอมพิวเตอร์ แต่ปัจจุบันสำหรับโปรแกรมเมอร์ระดับสูงถือเป็นทางเลือก
  • ระหว่างเตรียมบรรยายเกี่ยวกับ XOR ได้整理ความคิดหลากหลายอย่างไว้ และตัดสินใจบันทึกเป็นเอกสาร

ตรรกะแบบบูลีนของ XOR

XOR คืออะไร?

  • XOR เป็นตัวดำเนินการเชิงตรรกะที่รับบิตสองบิตเป็นอินพุตและให้บิตหนึ่งบิตเป็นเอาต์พุต
  • สามารถอธิบายการทำงานของ XOR ได้ผ่านตารางค่าความจริง

"OR แบบไม่รวมกัน"

  • XOR หมายถึง "OR แบบไม่รวมกัน" และจะคืนค่าเป็นจริงเมื่อมีอินพุตเพียงหนึ่งตัวเท่านั้นที่เป็นจริง

ตัวดำเนินการ 'ไม่เท่ากัน'

  • XOR คืนค่า 1 เมื่ออินพุตทั้งสองต่างกัน ดังนั้นจึงทำงานเหมือนกับ a ≠ b

การกลับค่าตามเงื่อนไข

  • XOR สามารถมองได้ว่าเป็นการดำเนินการกลับค่าตามเงื่อนไข โดยอินพุตหนึ่งตัวจะเป็นตัวกำหนดว่าจะกลับค่าอีกอินพุตหนึ่งหรือไม่

พาริตี หรือเศษเมื่อหารด้วย 2

  • XOR จะคืนค่า 1 เมื่อมีจำนวนบิตที่เป็นจริงในอินพุตเป็นจำนวนคี่

ผลต่างเมื่อหารด้วย 2

  • XOR ทำงานเหมือนกับเศษของการบวกและการลบเมื่อหารด้วย 2

คุณสมบัติของ XOR

  • XOR เป็นไปตามกฎการสลับที่และกฎการเปลี่ยนหมู่ โดย 0 ทำหน้าที่เป็นเอกลักษณ์ และอินพุตทุกตัวเป็นอินเวอร์สของตัวเอง

XOR ระดับบิตสำหรับจำนวนเต็ม

  • สามารถแทนจำนวนเต็มในรูปเลขฐานสองแล้วทำการดำเนินการ XOR แบบระดับบิตได้
  • XOR แบบระดับบิตมีคุณสมบัติเช่นเดียวกับ XOR แบบบูลีน

การประยุกต์ใช้ XOR

การเข้ารหัส: การรวมข้อความปกติกับคีย์สตรีม

  • XOR ถูกใช้ในการเข้ารหัสเพื่อรวมข้อความปกติเข้ากับคีย์สตรีม
  • XOR เรียบง่ายกว่าการบวกในฮาร์ดแวร์ จึงมีประสิทธิภาพ

กราฟิกพิกเซล: วาดภาพที่ลบได้ง่าย

  • ในคอมพิวเตอร์กราฟิกยุคทศวรรษ 1980 มีการใช้ XOR เพื่อวาดภาพที่ลบออกได้ง่าย
  • เมื่อใช้ XOR สามารถวาดพิกเซลซ้ำอีกครั้งเพื่อกู้คืนสภาพเดิมได้

"อัตลักษณ์ของฮาล์ฟแอดเดอร์"

  • XOR แทนบิตต่ำของการบวก ส่วน AND แทนบิตสูง
  • สำหรับจำนวนเต็ม สามารถใช้ XOR และ AND เพื่อทำการบวกได้

เอกสารนี้อธิบายคุณสมบัติและการประยุกต์ใช้ XOR ในหลากหลายด้าน และช่วยให้เข้าใจว่า XOR ทำงานอย่างไรและมีประโยชน์ในจุดใดบ้าง

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น