การบวกและการลบแบบไบนารีพร้อมตัวอย่าง

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





การบวกและการลบเลขฐานสองนั้นคล้ายกับระบบเลขฐานสิบ แต่ความแตกต่างที่สำคัญระหว่างสองสิ่งนี้คือ ระบบเลขฐานสอง ใช้ตัวเลขสองหลักเช่น 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

00

0

011

0

1

01

0

1

10

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

000
011

1

1

010
110

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 (บิตที่สำคัญที่สุด) ของผลลัพธ์ หากไม่มีบิตเพิ่มเติมแสดงว่าคุณทำผิดพลาดขณะเพิ่มตัวเลข

ตัวอย่าง

ตัวอย่างการลบเลขฐานสอง แสดงดังรูปต่อไปนี้

การลบเลขฐานสอง

การลบเลขฐานสอง

ดังนั้นทั้งหมดนี้เป็นข้อมูลเกี่ยวกับภาพรวมของการเพิ่มไบนารีและ การลบ ซึ่งรวมถึงการบวกไบนารีคืออะไรกฎการบวกไบนารีตัวอย่างการบวกไบนารีและการลบไบนารีกฎการลบเลขฐานสองตัวอย่างการลบเลขฐานสอง นี่คือคำถามสำหรับคุณอะไรคือความแตกต่างเพียงอย่างเดียวระหว่างการบวกและการลบแบบไบนารี?