digital section 02 - urumathcom.uru.ac.th/~beebrain/slide/4121701z/digital...2’s complement 2’s...
TRANSCRIPT
Digital section 02
การคานวณเลขฐานสอง
การบวกการลบ
การลบเลขฐานสองดวยวธการบวก1 complement2’s complement
การบวกเลขฐานสอง
การบวกเลขฐานสอง มหลกการเหมอนกบการบวกเลขฐานสบทเราคนเคย เพยงแตตวเลขในแตละหลกของเลขฐานสองจะมคามากทสดคอ 1 นนหมายความวาในหลกใดๆ ทม 1 บวกกบ 1 จะไดผลลพธเปน 0 และทดคา 1 ไวในหลกถดไปทางซายดง
ตวอยางการบวกเลขฐาน 2
ตวอยาง (1011)2 + (1001)2วธทา
1 0 1 1
+
1 0 0 1
1 0 1 0 0
ตวอยาง
การบวกเลขฐาน 2 หลายๆ หลก
คาตอบทถกคอ 101111
ตวอยาง
การลบเลขฐาน 2
การลบเลข ไมวาฐานใดๆ กตามมหลกการเหมอนกน หลกการทสาคญทควรรคอ
กรณตวตงมากกวา หรอเทากบตวลบใหทาการลบตามปรกตกรณทตวตงนอยกวาตวลบ ตองมการยมตวถดไป
Complement
เนองจาก เลข Binary เปนระบบเลขทใชกบคอมพวเตอร เมอตองการลบเลขจงตองออกแบบวงจรทใชสาหรบลบเลขแยกออกจากวงจรบวกเลข ซงมความยงยากมากกวาวงจรบวก เพราะมเรองเครองหมายลบตดมาดวย ดงนนวธทนยมใชคอ ไมวาจะบวกหรอ ลบ จะใชวงจรบวกเพยงอยางเดยว แตจะใชหลก complement เขามาชวย การลบเลขฐานสองดวยวธการบวกม 2 วธ
* 1’s complement อานวา วน- คอม- พล- เมน* 2’s complement อานวา ทส- คอม- พล- เมน
จงหาคา 1' complement และ 2' Complement ของเลข Binary ตอไปน
01101
Binary = 01101
1' Complement = 10010
1
2' Complement = 10011
1011010
Binary = 1011010
1' Complement = 0100101
1
2' Complement = 0100110
การลบเลขแบบ 1’s Complement 1’s Complement คอ การกลบสถานะของสญญาณ คอกลบจากสถานะ 1 เปน
0 และเปลยนจาก 0 เปน 1
การลบเลขแบบ 1’s complement
1. หา 1’s complement ของตวลบ ถาจานวนบตของตวลบนอยกวาตวตง ตองทาจานวนบตของตวลบใหเทากบจานวน bit ของตวตงเสยกอน
2. นาตวตงมาบวกกบ 1’s Complement
3. ผลบวกถา หากม end around carry (ตวทดตวสดทาย) ใหนามาบวกกบ LSD ผลบวกทได จะมคา ตามผลลพธ และมคาเปน บวก
4. หากไมม end around carry ใหทาการหา 1’s ของตวเลขทคานวณได และจะไดคาเปนลบ
ตวอยาง
110111 – 100101
วธทา 1’s complement 100101 = 011010
1 1 0 1 1 1
0 1 1 0 1 0
0 1 0 0 0 1
carry 1
0 1 0 0 1 0
ตวอยาง
101101 – 110010
วธทา 1’s complement 110010 = 001101
1 1 0 1 1 1
0 0 1 1 0 1
1 1 1 0 1 0
0
- 0 0 0 1 0 1
1’s complemtnt
2’s Complement
2’s Complement คอ การนาผลของการทา 1’s complement บวกกบ 1 เพอใชสาหรบแสดงคา ลบในคอมพวเตอร
การลบเลขแบบ 2’s complement
1. หา 2’s complement ของตวลบ ถาจานวนบตของตวลบนอยกวาตวตง ตองทาจานวนบตของตวลบใหเทากบจานวน bit ของตวตงเสยกอน
2. นาตวตงมาบวกกบ 2’s Complement
3. ผลบวกถา หากม end around carry (ตวทดตวสดทาย) ใหตดทง และผลลพธจะมคาเปนบวก
4. หากไมม end around carry ใหทาการหา 2’s complement ของเลขนนๆ และจาใหผลลพธเปนลบ
ตวอยาง
110111 – 100101
วธทา 1’s complement 100101 = 011010 + 1
1 1 0 1 1 1
0 1 1 0 1 1
0 1 0 0 1 0carry
ตด carry ทง
0 1 0 0 1 0
ตวอยาง
101101 – 110010
วธทา 1’s complement 110010 = 001101 + 1
1 1 0 1 1 1
0 0 1 1 1 0
1 1 1 0 1 1
ไมม carry ทา 2’s
- 0 0 0 1 0 1
2’s complemtnt
การคณเลขฐานสอง
หลกเกณฑการคณม 4 ขอ คอ1. 0 x 0 = 02. 0 x 1 = 03. 1 x 0 = 04. 1 x 1 = 1
ตวอยาง จงหาผลคณของ110101 x 101110101
101110101
000000110101
100001001นนคอ 110101 x 101 = 100001001
ตวอยางจงหาผลคณของ110011 x 1101
วธท า
1100011
1101
1100011
0000000
1100011
1100011
1010010111
นนคอ 110011 x 1101 = 1010010111
การหารเลขฐาน 2
การหารกนของเลขฐานสองจะเหมอนกบเลขฐานสบ นนคอการหารดวย 0 จะไมมความหมายหรอหาคาไมได ตวอยาง
จงหาร 100001001 ดวย 101วธท า
110101101 100001001
101110101
110101
101101
รหสไบนาร ( Binary Code )
รหสไบนารคอ กลมของตวเลขหรอสญญาณทประกอบดวย 0 และ 1 รหสทสรางขนสามารถใชแทนไดทงตวเลข , ตวอกษร และเครองหมายพเศษตาง ๆ ทใชอยทวไป
รหสไบนารชดหนง จะมจานวนรหสไมซากนจะมมากหรอนอยขนอยกบจานวนบตทใชในรหสนน เทากบ 2n เมอ n คอจานวนบตทใช
รหสบซด
รหสบซด ( BCD Code Decimal ) เปนรหสทรวมคณสมบตเลขฐานสองและฐานสบเขาดวยกนโดยใชเลขฐานสองกาหนดคาเลขฐานสบ 0 ถง 9
รหสบซด ขนาด 4 บต เปนรหสทประกอบดวยเลขฐานสองจานวน 4 บต
รหสบซด 8421 เปนรหสทมการถวงนาหนกทละบต มคาประจาหลกทแนนอนคอ เรยงลาดบตามเลขฐานสอง เชน 429 เปน รหส 8421 กคอ 010000101001 โดยการแทนคาเลขฐานสบกบเลขฐานสองขนาด 4 บตนนเอง
รหสบซด ขนาด 4 บต
เลขฐานสบ รหสบซด 8421
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
รหสเกรย ( Gray code )
รหสเกรย ( Gray code ) เปนรหสวน ( Cyclic code ) ชนดหนงทนยมใชสรางขนเพอใชเปนรหสในการเปลยนสญญาณแอนะลอกเปนสญญาณดจตอล เพราะรหสแตละตวมการเปลยนแปลงไป ครงละบตเดยว
เลขฐานสบ รหสไบนาร รหสเกรย0 0000 00001 0001 00012 0010 00113 0011 00104 0100 01105 0101 01116 0110 01017 0111 01008 1000 11009 1001 110110 1010 111111 1011 111012 1100 101013 1101 101114 1110 100115 1111 1000
รหสเกรย ( Gray code )
การเปลยนเลขรหสเลขฐานสองเปนรหสเกรย มหลกการดงน
เขยนตวเลขทางหลกซายมอของเลขฐานสองลงไปกอน
เอาบตหลกซายมอของเลขฐานสองบวกกบหลกถดไปของเลขฐานสองจนหมด
ในกรณเกน 1 ใหตดตวทดทง
1 1 0 1
1 0 1 1
จงเปลยนรหสเลขฐานสอง 1101 ไปเปนรหสเกรย
รหสเกรย ( Gray code )
การเปลยนรหสเกรยใหเปนรหสเลขฐานสอง
เขยนตวเลขทางหลกซายมอของรหสเกรยดงลงไปเปนเลขฐานสองกอน
เอาบตหลกซายมอของเลขฐานสองบวกกบหลกถดไปของรหสเกรยเรอย ๆ จนครบจานวนบต
ในกรณเกน 1 ใหตดตวทดทง
จงเปลยนรหสเกรย 1011 ไปเปนรหสเลขฐานสอง
รหสแอสก
ASCII CODE = American Standard Code for Information
ทใชแทนตวอกษร ตวเลข และเครองหมายตาง ๆซงเปนรหสขนาด 7 บต
กรณทเพมเครองหมายหรออกษรตางๆ จะใชบตท 8 ดวยหรอบางระบบอาจใชบตท 8 เปนบต ภาวะเสมอมล ( Parity ) เพอตรวจสอบความถกตองของขอมล
รหสแอสกนนยมใชกนมากในงานรบสงขอมล ของไมโครคอมพวเตอร กบอปกรณภายนอก เชนเครองพมพ , เครองอานขอมลจานแมเหลก เปนตน
รหสแอสก
รหสแอสก
ตวอยางท (1) เมอปอนขอมลใหคอมพวเตอรผานคยบอรดดวยขอความวา STOPขอความนจะถกเขารหสเปนรหสแอสก ดงน
ตวอยางท (2) เมอปอนขอมลใหคอมพวเตอรผานคยบอรดดวยขอความวา START.
ขอความนจะถกเขารหสเปนรหสแอสก ดงน
การบาน
จงแสดงวธทาทกขอ
1. จงแปลงเลขตอไปนใหเปนเลขแบบ 1’s Complement
8 17
55 32
0 11
10 9
2. จงแสดงการลบเลข Binary แบบ 1’s และ 2’s ของเลขตอไปน
8 - 9 5 - 7
55 - 11 32 - 9
0 – 1 11 – 0
10 - 12 9-5
3. จงแสดงการคณเลขตอไปนแบบ Binary
4. จงแปลงเลข Binary ตอไปนใหเปนรหสเกย
8 * 9 5 * 7
55 * 0 32 * 9
10110 110011
1001110 11101
5. จงเลข ตอไปนใหเปนรหส BCD
104 669
731 110