การบวกและการลบเลขฐาน 2 (Binary Addition & Subtraction)
ระบบคอมพิวเตอร์และวงจรดิจิทัลทั้งหมดใช้เลขฐาน 2 (Binary) ในการประมวลผลข้อมูลและคำนวณทางคณิตศาสตร์ เมื่อเราศึกษาเรื่องโครงสร้างคอมพิวเตอร์ (Computer Architecture) หรือวงจรลอจิก (Logic Circuits) พื้นฐานแรกสุดที่ต้องทำความเข้าใจคือวิธีการนำเลขฐาน 2 มาบวกและลบกัน การคำนวณเหล่านี้เป็นพื้นฐานของหน่วยประมวลผลตรรกะและคณิตศาสตร์ หรือ ALU (Arithmetic Logic Unit) ที่ฝังอยู่ใน CPU (Central Processing Unit) ทุกตัว
หลักการบวกเลขฐาน 2 (Binary Addition)
การบวกเลขฐาน 2 มีหลักการที่คล้ายคลึงกับการบวกเลขฐาน 10 ทั่วไป แต่เนื่องจากเรามีตัวเลขเพียง 0 และ 1 การทด (Carry) จึงเกิดขึ้นเร็วกว่า กฎพื้นฐานสำหรับการบวกเลขฐาน 2 มีเพียง 4 ข้อดังนี้:
- 0 + 0 = 0 (ไม่มีตัวทด)
- 0 + 1 = 1 (ไม่มีตัวทด)
- 1 + 0 = 1 (ไม่มีตัวทด)
- 1 + 1 = 0 (มีตัวทด 1 ไปยังบิตถัดไปทางซ้าย)
หากมีตัวทดมาบวกเพิ่มด้วย เช่น 1 + 1 + 1 (ตัวทด) = 1 (และทด 1 ไปหลักถัดไป)
ตัวอย่างการบวก: 1011 + 0101
เราเริ่มบวกจากขวาไปซ้าย (LSB ไป MSB):
- หลักที่ 1 (ขวาสุด): 1 + 1 = 0 (ทด 1)
- หลักที่ 2: 1 + 0 + 1(ตัวทด) = 0 (ทด 1)
- หลักที่ 3: 0 + 1 + 1(ตัวทด) = 0 (ทด 1)
- หลักที่ 4 (ซ้ายสุด): 1 + 0 + 1(ตัวทด) = 0 (ทด 1)
เมื่อมีตัวทดหลักสุดท้าย จะเกิดบิตใหม่ ดังนั้นคำตอบคือ 10000
หลักการลบเลขฐาน 2 (Binary Subtraction)
สำหรับการลบเลขฐาน 2 ด้วยวิธีตั้งลบปกติ จะมีการขอยืม (Borrow) จากหลักถัดไปทางซ้ายหากตัวตั้งน้อยกว่าตัวลบ กฎพื้นฐานคือ:
- 0 - 0 = 0
- 1 - 0 = 1
- 1 - 1 = 0
- 0 - 1 = 1 (ต้องมีการยืม 1 จากหลักทางซ้ายมา ซึ่งการยืม 1 มาจะทำให้หลักที่ยืมมามีค่าเป็น 2 ในฐาน 10 หรือ 10 ในฐาน 2)
ตัวอย่างการลบ: 1010 - 0111
- หลักที่ 1 (ขวาสุด): 0 - 1 ยืมจากหลักถัดไป (0 กลายเป็น 10 ในฐาน 2 ซึ่งก็คือ 2 ลบ 1 เหลือ 1) คำตอบหลักนี้คือ 1
- หลักที่ 2: เดิมเป็น 1 ถูกยืมไปเหลือ 0 พอจะลบ 1 ก็ต้องยืมหลักถัดไปอีกที แต่หลักถัดไปเป็น 0 เลยต้องข้ามไปยืมหลักหน้าสุด สุดท้ายหลักนี้จะคำนวณได้เป็น 1
- การยืมต่อเป็นทอดๆ อาจทำให้สับสนได้ง่าย นี่จึงเป็นเหตุผลที่คอมพิวเตอร์ไม่ได้ใช้วิธียืมในการลบจริงๆ
วิธี 2's Complement สำหรับการลบ (ในระบบคอมพิวเตอร์)
ด้วยเหตุผลที่วงจรสำหรับการลบโดยการยืมมีความซับซ้อน ระบบคอมพิวเตอร์ส่วนใหญ่จึงแก้ปัญหาด้วยการเปลี่ยนการลบให้เป็นการบวกแทน โดยใช้หลักการที่เรียกว่า Two's Complement
เมื่อต้องการลบ A - B คอมพิวเตอร์จะทำโดย A + (-B) ซึ่ง -B จะถูกสร้างโดยการกลับบิตทั้งหมดของ B (0 เป็น 1, 1 เป็น 0) แล้วบวกด้วย 1 วิธีนี้ช่วยให้คอมพิวเตอร์สามารถใช้แค่วงจรบวก (Adder) สำหรับทั้งการบวกและการลบได้ ทำให้ประหยัดทรัพยากรฮาร์ดแวร์ได้อย่างมหาศาล
สรุป
การบวกลบเลขฐาน 2 เป็นความรู้ที่หลีกเลี่ยงไม่ได้สำหรับโปรแกรมเมอร์ วิศวกรคอมพิวเตอร์ หรือผู้ที่สนใจด้านอิเล็กทรอนิกส์ดิจิทัล เครื่องคำนวณในหน้านี้ถูกสร้างขึ้นมาเพื่อช่วยประหยัดเวลาและลดข้อผิดพลาดจากการคำนวณด้วยมือ ช่วยให้คุณตรวจสอบความถูกต้องของวงจร หรือทวนคำตอบการบ้านได้อย่างมั่นใจ