- การลบไบนารี:
- ตัวลบครึ่งหนึ่ง:
- ประตู Ex-OR:
- 2
- ไม่ใช่ประตูหรือประตูอินเวอร์เตอร์:
- วงจรลอจิกครึ่งลบ:
- การสาธิตเชิงปฏิบัติของวงจรลบครึ่งหนึ่ง:
ในบทเรียนก่อนหน้านี้เราได้เห็นวิธีการใช้คอมพิวเตอร์เลขฐานสอง0และ1และโดยการใช้คอมพิวเตอร์วงจรบวกจะเพิ่มตัวเลขเหล่านั้นเพื่อให้SUMและดำเนินการเราได้กล่าวถึงวงจร Half Adder และ Full Adder ในบทช่วยสอนก่อนหน้านี้แล้ว วันนี้เราจะมาเรียนรู้เกี่ยวกับวงจร Subtractor ตัวลบวงจรนี้ใช้ไบนารีหมายเลข 0, 1 และคำนวณลบไบนารีครึ่งตัวลบวงจรสามารถทำได้โดยใช้EX-ORและNAND (การรวมกันของไม่ได้และและประตู)ประตู วงจรมีสององค์ประกอบ อันแรกคือความแตกต่าง (Difference) และอันที่สองคือยืม.
เมื่อเราใช้กระบวนการลบเลขคณิตในคณิตศาสตร์ฐาน 10 ของเราเช่นการลบจำนวนสองจำนวนตัวอย่าง -
เราลบแต่ละคอลัมน์จากขวาไปซ้ายและถ้าการลบมากกว่าค่านาทีต้องยืมจากคอลัมน์ก่อนหน้า ถ้าเราเห็นตัวอย่างเราจะเข้าใจสิ่งนี้ดีขึ้นมาก ในคอลัมน์ขวามากที่สุดตัวลบ 9 มีขนาดใหญ่กว่าตัวตั้ง 3 ในกรณีเช่นนี้เราไม่สามารถลบ 9 จาก 3 ได้เราจะยืม 10 (ตามคณิตศาสตร์ฐาน 10 ของเรา) จากคอลัมน์ทางซ้ายถัดไปและแปลง 3 เป็น 13 จากนั้นทำการลบ13 - 9 = 4เราจึงย้าย คอลัมน์ถัดไปในขณะนี้เนื่องจากการยืมตัวตั้งเป็น6 ไม่ 7. อีกครั้งการลบ 8 มีค่ามากกว่าค่านาที 6 เรายืมอีกครั้งจากคอลัมน์ทางซ้ายสุดแล้วทำการลบ 16 - 8 = 8 ตอนนี้ในคอลัมน์ทางซ้ายสุด minuend คือ 8 ไม่ใช่ 9 โดยการลบสิ่งเหล่านี้ เราได้ตัวเลขสองตัว 8 - 8 = 0 นี่ตรงข้ามกับการเพิ่มที่เราอธิบายไว้ในบทแนะนำครึ่งตัวก่อนหน้านี้
การลบไบนารี:
ในกรณีของเลขฐานสองกระบวนการลบจะเหมือนกันทุกประการ แทนที่จะเป็น10 ฐานระบบตัวเลขที่นี่ฐาน 2ระบบตัวเลขหรือเลขฐานสองจะใช้ เราเพียง แต่ได้รับสองตัวเลขในระบบเลขฐานสอง1หรือ0ตัวเลขสองตัวนี้สามารถแสดงถึงความแตกต่าง (Difference)หรือBorrowหรือทั้งสองอย่าง เช่นเดียวกับในระบบเลขฐานสอง 1 เป็นตัวเลขที่ใหญ่ที่สุดเราจะสร้างการยืมก็ต่อเมื่อค่าลบ 1 มากกว่า 0 นาทีและด้วยเหตุนี้การยืมจะต้องใช้
มาดูการลบไบนารีที่เป็นไปได้ของสองบิต
1 st Bit หรือ Digit | 2 nd Bit หรือ Digit | ความแตกต่าง | ยืม |
0 | 0 |
0 |
0 |
1 | 0 | 1 | 0 |
0 | 1 | 1 | 1 |
1 | 1 | 0 | 0 |
หลักแรกเราสามารถแสดงเป็นAและตัวเลขหลักที่สองที่เราสามารถระบุได้ว่าBถูกลบเข้าด้วยกันและเราสามารถเห็นผลการลบความแตกต่างและบิตยืมในสองแถวแรกและแถวสุดท้าย 0 - 0, 1 - 0 หรือ 1 - 1 ความแตกต่างคือ 0 หรือ 1 แต่ไม่มีบิตยืม แต่ในแถวที่สามเราลบ0 - 1และสร้างบิตยืมของ 1พร้อมกับผลลัพธ์ 1 เนื่องจากการลบ 1 มีค่ามากกว่า 0 นาที
ดังนั้นถ้าเราเห็นการทำงานของวงจรSubtractorเราต้องการเพียงสองอินพุตและมันจะสร้างเอาต์พุตสองเอาต์พุตหนึ่งคือผลลัพธ์การลบ ซึ่งแสดงเป็นความแตกต่าง (รูปแบบสั้นของ ความแตกต่าง ) และอีกตัวหนึ่งคือบิตยืม
ตัวลบครึ่งหนึ่ง:
ดังนั้นแผนภาพบล็อกของHalf-Subtractorซึ่งต้องการเพียงสองอินพุตและให้สองเอาต์พุต
ในแผนภาพบล็อกด้านบนจะแสดงวงจร Half-Subtractor พร้อมโครงสร้างอินพุต - เอาต์พุต เราสามารถทำให้วงจรนี้ใช้EX-OR และ NAND ประตู สำหรับการสร้าง NAND gate เราได้ใช้ AND gate และ NOT gate ดังนั้นเราต้องการสามประตูเพื่อสร้างวงจร Half Subtractor:
- 2-input Exclusive-OR Gate หรือ Ex-OR Gate
- 2 อินพุตและประตู
- ไม่ใช่ประตูหรือประตูอินเวอร์เตอร์
การรวมกันของ AND และไม่ได้ประตูผลิตประตูรวมที่แตกต่างกันมีชื่อเป็นNAND ประตูอดีตหรือประตูถูกนำมาใช้ในการผลิตDiffบิตและNANDประตูผลิตยืมบิตของการป้อนข้อมูลเดียวกันA และ B
ประตู Ex-OR:
นี่คือสัญลักษณ์ของประตูEX-ORสองอินพุต AและBคืออินพุตไบนารีสองอินพุตและOUTคือเอาต์พุตสุดท้าย
เอาต์พุตนี้จะใช้เป็นDiff Out ในวงจรSubtractor ครึ่งหนึ่ง
ตารางความจริงของ EX-OR ประตูเป็น -
อินพุต A | อินพุต B | ออก |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
ในตารางด้านบนเราจะเห็นผลลัพธ์ของประตูEX-OR เมื่อหนึ่งในจำนวนบิตใด ๆและBคือ1การส่งออกของประตูจะกลายเป็น1ในอีกสองกรณีเมื่ออินพุตทั้งสองเป็น0หรือ1 เกต Ex-OR จะสร้างเอาต์พุต0 เรียนรู้เพิ่มเติมเกี่ยวกับประตู EX-OR ที่นี่
2
นี่คือวงจรพื้นฐานของสองอินพุตและเกต เช่นเดียวกับประตู EX-OR มีสองอินพุต หากเราระบุบิตAและBในอินพุตมันจะสร้างเอาต์พุต
ตารางความจริงของประตูและเป็น -
อินพุต A |
อินพุต B |
พกพาเอาท์พุท |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
ตารางความจริงของAND gate แสดงไว้ด้านบนซึ่งจะสร้างเอาต์พุตเมื่ออินพุตทั้งสองเป็น1เท่านั้นมิฉะนั้นจะไม่ให้เอาต์พุตหากอินพุตทั้งสองหรือใด ๆ เป็น 0 เรียนรู้เพิ่มเติมเกี่ยวกับ AND gate ที่นี่
ไม่ใช่ประตูหรือประตูอินเวอร์เตอร์:
ด้านล่างนี้เป็นสัญลักษณ์ของประตูอินเวอร์เตอร์: