การบวกและการลบเลขฐานสองนั้นคล้ายกับระบบเลขฐานสิบ แต่ความแตกต่างที่สำคัญระหว่างสองสิ่งนี้คือ ระบบเลขฐานสอง ใช้ตัวเลขสองหลักเช่น 0 & 1 ในขณะที่ระบบเลขฐานสิบใช้ตัวเลขตั้งแต่ 0 ถึง 9 และฐานของนี่คือ 10 มีกฎเฉพาะบางประการสำหรับระบบไบนารี เช่นเดียวกับเมื่อเราบวกและลบเลขฐานสองเราจะต้องระมัดระวังอย่างมากในขณะที่ถือตัวเลขที่ยืมมาเพราะสิ่งเหล่านี้จะเกิดขึ้นบ่อยขึ้น บทความนี้กล่าวถึงภาพรวมของการบวกและการลบเลขฐานสองโดยละเอียดด้านล่าง
การบวกและการลบแบบไบนารีคืออะไร?
หากคอมพิวเตอร์สามารถจัดการตัวเลข 5 บิตเช่น -1101 ได้สำเร็จโดยที่เครื่องหมายลบเป็นบิตเครื่องหมายและตัวเลขที่เหลือเป็นบิตขนาดตัวเลข 5 บิตนี้สามารถแทนค่าได้เช่น 11101 ในตัวเลขนี้หลักแรก '1' ระบุเครื่องหมายลบและ 4 หลักที่เหลือคือขนาดของตัวเลข
ในทำนองเดียวกัน 01101 หมายถึงเลขฐานสอง +1101
จำนวนลบ (-) ยังแสดงโดยใช้แนวคิดของขนาดของส่วนเติมเต็มของจำนวน 1
ดังนั้นเลขฐานสอง - 1101 อาจแสดงเป็น 10010 โดยที่ตัวเลขหลักแรกเป็นบิตที่สำคัญที่สุดหรือ MSB หมายถึงจำนวนลบและ 0010 คือส่วนเติมเต็มของขนาด
ในทำนองเดียวกัน 11011 ระบุหมายเลขเช่น 0100
ในทำนองเดียวกันวิธีการเติมเต็ม 2 ยังใช้สำหรับการแทนเลขฐานสอง
วิธีการบวกและการลบเลขฐานสองโดยใช้บิตเครื่องหมายซึ่งแสดงถึงจำนวนลบนั้นใช้ง่ายในการออกแบบคอมพิวเตอร์สำหรับการคำนวณผลรวมและความแตกต่างของเลขฐานสองผ่านกระบวนการบวกเท่านั้น
การเพิ่มไบนารี
เทคนิคการบวกเลขฐานสองนั้นคล้ายกับการบวกเลขฐานสิบตามปกติโดยไม่รวมค่าทางเลือกของ 10 หลักโดยจะมีค่า 2
ตัวอย่างเช่นเมื่อเราคำนวณ 7 + 9 ด้วยตนเองคำตอบก็คือ 16 ดังนั้นเราจึงรู้ว่าผลลัพธ์ต้องเขียนเหมือนเลขสองหลัก 1 และ 6 เหตุผลหลักในการเขียนผลลัพธ์เช่น 1 6 คือการบวก 7 + 9 มากกว่าตัวเลขหลักเดียว ดังนั้นจึงไม่สามารถแสดงผลลัพธ์ด้วยตัวเลขหลักเดียวได้เนื่องจากตัวเลขหลักเดียวที่ใหญ่ที่สุดคือ ‘9’
ในทำนองเดียวกันเมื่อใดก็ตามที่เราต้องการรวมเลขฐานสองสองจำนวนเราเท่านั้นที่จะมีค่าพกพาหากผลิตภัณฑ์มีขนาดใหญ่กว่า 1 เนื่องจากในเลขฐานสอง 1 เป็นจำนวนสูงสุด กฎการบวกเลขฐานสองมีให้ในตารางการลบความจริงต่อไปนี้
ถึง | ข | A + B | พก |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
ในรูปแบบตารางข้างต้นสมการเริ่มต้นสามสมการจะเหมือนกันสำหรับเลขฐานสอง มีการอธิบายรายละเอียดการเพิ่มเลขฐานสองทีละขั้นตอน สำหรับการเพิ่มไบนารีให้ยกตัวอย่าง 11011 & 10101
1 1 1 1 (พกพา)
1 1 0 1 1 (27)
(+) 1 0 1 0 1 (21)
_ _ _ _ _ _ _ _ _ _ _ _ _
1 1 0 0 0 0 (48)
กฎการเพิ่มไบนารีทีละขั้นตอนมีอธิบายไว้ด้านล่าง
1 + 1 => 1 0 ดังนั้น 0 พร้อมพก 1
1 + 1 + 0 => 1 0 ดังนั้น 0 พร้อมพก 1
1 + 0 + 1 => 10 => 0 ดังนั้น 0 ด้วย carry-1
1 + 1 + 0 => 10 => 10 = 0 พร้อมพก -1
1 + 1 + 1 => 10 + 1 => 11 = 1 พร้อมพก -1
1 +1 +1 = 11
โปรดสังเกตอย่างระมัดระวังว่า 10 + 1 => 11 และนี่เท่ากับ 2 + 1 = 3 ดังนั้นผลลัพธ์ที่จำเป็นคือ 111000
ตัวอย่าง
ตัวอย่างการเพิ่มไบนารี แสดงดังรูปต่อไปนี้
ไบนารีนอกจากนี้
การลบไบนารี: วิธีแรก
ในการลบนี่เป็นเทคนิคหลัก ในวิธีนี้ตรวจสอบให้แน่ใจว่าจำนวนที่ลบออกต้องเป็นจำนวนที่มากขึ้นไปจนถึงน้อยลงมิฉะนั้นเทคนิคนี้จะไม่ทำงานอย่างเหมาะสม
หาก minuend มีขนาดเล็กกว่าการลบวิธีนี้จะใช้เพียงแค่สลับตำแหน่งและจดจำว่าเอฟเฟกต์จะเป็นตัวเลข a -ve กฎการลบเลขฐานสองมีให้ในตารางการลบความจริงต่อไปนี้
ถึง | ข | ก - ข | ยืม |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
ตัวอย่างเช่นในการลบไบนารีให้ลบการลบออกจากค่าต่ำสุด ยกตัวอย่างการลบ (110112) และขั้นต่ำ (11011012) สำหรับการลบให้จัดเรียงสองสิ่งนี้เช่นการลบควรอยู่ด้านล่างนาที ตัวอย่างนี้ได้รับด้านล่าง
1101101
- 11011
หากต้องการรับจำนวนหลักในการลบให้เพิ่มเลขศูนย์ตามที่ต้องการ
1101101
- 0011011
_ _ _ _ _ _ _ _ _
1010010
ในตัวอย่างการลบเลขฐานสองข้างต้นการลบจะทำได้จากด้านขวาไปทางด้านซ้ายด้วยความช่วยเหลือของรูปแบบตารางซึ่งแสดงไว้ในด้านบน กฎการลบไบนารีทีละขั้นตอนมีอธิบายไว้ด้านล่าง
ถ้าอินพุต 1 1 = 0 ให้ยืมขั้นตอนต่อไปคือ 0
ถ้าอินพุต 0 1 = 1 & ยืมเป็น 0 ดังนั้น 1 0 = 1 ให้ยืมขั้นตอนต่อไปคือ 1
หากอินพุต 1 0 = 0 & ยืมคือ ดังนั้น 1 1 = 0 จากนั้นยืมขั้นตอนต่อไปคือ 0
ถ้าอินพุต 1 1 = 0 & ยืมเป็น 0 ดังนั้น 0 0 = 0 ให้ยืมขั้นตอนต่อไปคือ 0
ถ้าอินพุต 0 1 = 1 & ยืมเป็น 0 ดังนั้น 1 0 = 1 ให้ยืมขั้นตอนต่อไปคือ 1
ถ้าอินพุต 1 0 = 1 & ยืมคือ 1 ดังนั้น 1 1 = 0 ให้ยืมขั้นตอนต่อไปคือ 0
ขั้นตอนสุดท้ายถ้าอินพุต 1 0 = 0 & ยืมเป็น 0 ดังนั้น 10 = 1 ให้ยืมขั้นตอนต่อไปคือ 0
ผลลัพธ์สุดท้ายจะเป็น 1010010
วิธีที่สอง: Two’s Complement
ขั้นแรกให้ตรวจสอบว่าตัวเลขในการลบและเครื่องหมายลบควรเท่ากัน ในตัวอย่างข้างต้นตัวเลขใน minuends มี 7 ในขณะที่ในการลบหลักคือ 5 ดังนั้นเราจำเป็นต้องขยายตัวเลขในการลบโดยการเพิ่มศูนย์ การเติมเต็มของตัวเลข 2 สามารถทำได้โดยการเติมเต็มแต่ละหลักของตัวเลขเช่นศูนย์ถึงตัวและตัวเป็นศูนย์ สุดท้ายเพิ่มหนึ่งในส่วนเติมเต็ม ตัวอย่างของส่วนเสริมทั้งสองนี้แสดงอยู่ด้านล่าง
0011011
ส่วนเติมเต็มของ 1 สามารถทำได้โดยการแปลง 0 เป็น 1 และ 1 เป็น 0 ดังนั้นผลลัพธ์จะเป็นดังนี้
0011011 - - - -> 1100100 (ส่วนเติมเต็ม 1)
ส่วนเติมเต็มของ 2 สามารถทำได้โดยการเพิ่มส่วนเติมเต็ม 1 ต่อ 1 ดังนั้นผลลัพธ์จะเป็นดังนี้
1100100
+ 0000001
_ _ _ _ _ _ _ _ _ _
= 1100101
ตอนนี้เพิ่มส่วนเสริมและนาทีที่ 2 ของ subtrahend
1101101 (ลบ)
+ 1100101 (ส่วนเติมเต็ม 2)
_ _ _ _ _ _ _ _ _
(MSB) (1) 1010010
ในผลลัพธ์ข้างต้นให้ละเว้น MSB (บิตที่สำคัญที่สุด) ของผลลัพธ์ หากไม่มีบิตเพิ่มเติมแสดงว่าคุณทำผิดพลาดขณะเพิ่มตัวเลข
ตัวอย่าง
ตัวอย่างการลบเลขฐานสอง แสดงดังรูปต่อไปนี้
การลบเลขฐานสอง
ดังนั้นทั้งหมดนี้เป็นข้อมูลเกี่ยวกับภาพรวมของการเพิ่มไบนารีและ การลบ ซึ่งรวมถึงการบวกไบนารีคืออะไรกฎการบวกไบนารีตัวอย่างการบวกไบนารีและการลบไบนารีกฎการลบเลขฐานสองตัวอย่างการลบเลขฐานสอง นี่คือคำถามสำหรับคุณอะไรคือความแตกต่างเพียงอย่างเดียวระหว่างการบวกและการลบแบบไบนารี?