Upload
vuliem
View
231
Download
1
Embed Size (px)
Citation preview
บทที่ 2 การคํานวณเลขฐาน
มนุษยนําคอมพิวเตอรมาใชเปนเครื่องมือในการคํานวณเปรียบเทียบ เก็บขอมูล และวิเคราะหขอมูลในรูปแบบตาง ๆ ไดอยางมากมายไมวาจะเปนขอความ รูปภาพ ตัวเลข หรือภาพเคลื่อนไหว ที่คอมพิวเตอรสามารถทําได ทั้งนี้เพราะภายในตวัคอมพวิเตอรมีวงจรชนิดหนึง่ ที่ทาํหนาที่คํานวณและเปรียบเทียบ ดังนั้นผูดแูละระบบ ผูออกแบบระบบ หรือผูสรางคอมพิวเตอรตองมคีวามรูความเขาใจเกี่ยวกับการคํานวณเลขฐานเปนอยางดี จึงจะสามารถออกแบบวงจรเพือ่นําไปใชในระบบคอมพิวเตอรไดอยางสมบูรณและมีประสิทธิภาพมากทีสุ่ด การบวก ลบ คูณ หาร เลขฐานสอง
คอมพิวเตอรมีความสามารถในการดําเนินการทางคณิต คือ ทําการบวก ลบ คูณ หาร ไดดวยความเร็วที่สูงมาก ในอัตราความเร็วถึง 16,600 คร้ังตอ 1 วินาทีหรือสูงกวาทั้งนี้ขึ้นอยูกับสมรรถนะของคอมพิวเตอรแตละรุนแตละระบบ ซ่ึงสามารถทําการบวก ดําเนินกรรมวิธี การโยกยายขอมูลไดอยางอัตโนมัติ คอมพิวเตอรดําเนินการตาง ๆ ดวยระบบเลขฐานสอง จึงทําใหขีดความสามารถในการทํางานทางเลขคณิตมีประสิทธิภาพที่สูงมาก เพราะระบบเลขฐานสองมีลักษณะตรงกับสถานะ การปดเปดกระแสไฟฟาเพื่อปอนใหกับเครื่องคอมพิวเตอรหรือเครื่องอิเล็กทรอนิกสทํางาน
1. การบวกเลขฐานสอง การบวกเลขฐานสองมีวิธีปฏิบัติเชนเดียวกันกับการบวกในเลขฐานสิบแตเนื่องจากระบบ
เลขฐานสองมีตัวเลขเพียงสองตัวคือ 0 กับ 1 ดังนั้นการบวกจึงมีหลักเกณฑดังนี้ 1 + 1 = 0 และทดไว 1 เพื่อบวกกับเลขหลักตอไป 1 + 0 = 1
0 + 1 = 1 0 + 0 = 0
26
วิธีดําเนินการบวกเลขฐานสองมีหลักการเชนเดียวกับเลขฐานสิบ คือ นําจํานวนเลขทั้งสองมาตั้งใหตรงหลักกันแลวจึงทําการบวกเลขในหลักนั้นๆ ถาผลบวกในตําแหนงใดมีการทด 1 ก็ใหนําไปบวกกับเลขตําแหนงถัดไปดวย ดังตัวอยางตอไปนี้ ตัวอยางที่ 2.1 การบวกเลขฐานสองตอไปนี้ (1100)2 + (1010)2 = (………..)2
+ วิธีทํา 1 1 0 0 12
+ 1 0 1 0 10 1 0 1 1 0 22 ∴ (1100)2 + (1010)2 = (10110)2 ตอบ (10110)2 ตัวอยางที่ 2.2 การบวกเลขฐานสองตอไปนี้ (1101.11)2 + (1011.10)2 = (………..)2
+ วิธีทํา 1 1 0 1 . 1 1 13.75
+ 1 0 1 1 . 1 0 11.50 1 1 0 0 1 . 0 1 25.25 ∴ (1101.11)2 + (1011.10)2 = (11001.01)2 ตอบ (11001.01)2 ตัวอยางที่ 2.3 การบวกเลขฐานสองตอไปนี้ (1001.11)2 + (1011.10)2 + (1111.11)2 = (………..)2
+ วิธีทํา 1 0 0 1 . 1 1 09.75
+ +
1 0 1 1 . 1 0 11.50 + 1 1 1 1 . 1 1 15.75
1 0 0 1 0 1 . 0 0 37.00 ∴ (1001.11)2 + (1011.10)2 + (1111.11)2 = (100101.00)2 ตอบ (100101.00)2
27
2. การลบเลขฐานสอง การลบเลขฐานสอง ซ่ึงเปนวิธีตรงกันขามกับการบวกเลขฐานสอง มีหลักเกณฑ เชนเดียวกับ
การลบในเลขฐานสิบ ดังตอไปนี้ 1 - 1 = 0 1 – 0 = 1 0 - 0 = 0 0 - 1 = 1 ตองยืมจากหลักทีสู่งกวามา 1
ในการยืมคาตัวเลขในเลขฐานสองจะทําใหตัวเลขที่ถูกยืมลดคาลง 1 แลวตัวเลขนั้นจะกลาย เปน 0 ไป ถาตัวเลขที่ถูกยืมถัดไปมีคาเปน 0 ใหยืมในหลักถัดไปเรื่อยๆ จนกระทั่งมีเลข 1 เมื่อทําการยืมคามาแลว เลข 1 ในคอลัมนนั้นก็จะกลายเปน 0 ไป สวนเลข 0 ในคอลัมนซ่ึงไมสามารถยืมไดนั้นก็จะกลายเปน 1 ดังตัวอยางตอไปนี้ ตัวอยางที่ 2.4 การลบเลขฐานสองตอไปนี้ (1100)2 - (1010)2 = (………..)2
- วิธีทํา 1 1 0 0 12
- 1 0 1 0 10 0 0 1 0 02 ∴ (1100)2 - (1010)2 = (10)2 ตอบ (10)2 ตัวอยางที่ 2.5 การลบเลขฐานสองตอไปนี้ (1101.11)2 - (111.10)2 = (………..)2
- วิธีทํา 1 1 0 1 . 1 1 13.75
- 0 1 1 1 . 1 0 7.50 1 1 0 . 0 1 6.25 ∴ (1101.11)2 - (111.10)2 = (110.01)2 ตอบ (110.01)2
28
ตัวอยางที่ 2.6 การลบเลขฐานสองตอไปนี้ (1111.11)2 - (1001.10)2 - (11.11)2 = (………..)2
- วิธีทํา 1 1 1 1 . 1 1 15.75
- -
1 0 0 1 . 1 0 09.50 - 0 0 1 1 . 1 1 03.75
1 0 0 . 1 0 4.50 ∴ (1111.11)2 - (1001.10)2 - (11.11)2 = (10.10)2 ตอบ (10.10)2
3. การคูณเลขฐานสอง ในการคูณเลขระบบใดๆ ก็ตาม หมายความวาเปนการบวกเลขจํานวนนั้น ดวยตัวมันเองเปน
จํานวนกี่คร้ังตามคาตัวคูณนั้น เชน จํานวนเลข 8x5 หมายความวา จํานวนเลข 8 บวกดวยตัวมันเอง 5 คร้ัง คือ 8+8+8+8+8=40
สําหรับการคูณเลขฐานสอง มีหลักการดําเนินการเชนเดียวกับเลขฐานสิบคือ เมื่อทําการคูณเลขฐานสอง ดวยตัวเองที่เปน 1 ก็จะไดผลคูณเทากับตัวตั้งที่ทําการคูณนั้น ถาตัวคูณเปน 0 ผลคูณ ก็จะไดเปน 0 เชนกัน เมื่อไดทําการคูณ ตัวตั้งดวยตัวคูณทุกตําแหนงแลวใหทําการบวกโดยใชกฎการบวกเลขฐานสองตามที่กลาวมาแลว ทุกประการ การคูณจึงมีหลักเกณฑดังนี้ 1 × 1 = 1 1 × 0 = 0
0 × 1 = 0 0 × 0 = 0
ตัวอยางที่ 2.7 การคูณเลขฐานสองตอไปนี้ (1100)2× (101)2 = (………..)2
×วิธีทํา 1 1 0 0 1 0 1 1 1 0 0
0 0 0 0 +
29
1 1 0 0 1 1 1 1 0 0 ∴ (1100)2 x (101)2 = (111100)2 ตอบ (111100)2 ตัวอยางที่ 2.8 การคูณเลขฐานสองตอไปนี้ (1101.101)2 x (111)2 = (………..)2
×วิธีทํา 1 1 0 1 . 1 0 1 1 1 1 . 0 0 0 0 0 0 0 0 0 0 ฐานสิบ
13.625 7 95.375
×
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 +
1 1 0 1 1 0 1 1 1 0 1 1 0 1
1 0 1 1 1 1 1.0 1 1 0 0 0 ∴ (1101.101)2 x (111)2 = (1011111.011)2 ตอบ (1011111.011)2
4. การหารเลขฐานสอง ในการหารเลขระบบใดๆ ก็ตาม เปนการกระทําที่ตรงกันขามกับการคูณ คือเปนการหาจํานวน
คร้ังที่นําตัวเลขจํานวนนั้นไปลบออกจากเลขจํานวนหนึ่งจนกระทั่งเหลือเศษ 0 หรืออาจเปนจํานวนหนึ่ง ที่มีคานอยกวา 3 เกณฑการหารเลขฐานสองสรุปไดดังตอไปนี้
0 ÷ 1 = 0 1 ÷ 1 = 1
30
ตัวอยางที่ 2.9 การหารเลขฐานสองตอไปนี้ (1111)2÷ (101)2 = (………..)2 วิธีทํา 11
101 1111- 101
- 101 101 000 ∴ (1111)2÷ (101)2 = (11)2 ตอบ (11)2 ตัวอยางที่ 2.10 การหารเลขฐานสองตอไปนี้ (100011)2÷ (101)2 = (………..)2 วิธีทํา 111
100011101 - 101
111 - 101
101 - 101 000 ∴ (100011)2÷ (101)2 = (111)2 ตอบ (111)2
31
ตัวอยางที่ 2.11 การหารเลขฐานสองตอไปนี้ (111100)2÷ (110)2 = (………..)2
วิธีทํา 1010
111100110- 110
110 - 110
000 ∴ (111100)2÷ (110)2 = (1010)2 ตอบ (1010)2 การบวก ลบ คูณ หาร เลขฐานแปด
1. การบวกเลขฐานแปด การบวกเลขฐานแปดมีวิธีปฏิบัติเชนเดียวกันกับการบวกในเลขฐานสิบแตเนื่อง จากระบบเลข
ฐานแปดมีตัวเลขที่ใชเพียงแปดตัวคือ 0 1 2 3 4 5 6 และ 7 ดังนั้นหลักเกณฑของการบวกสามารถดูไดจากดังตัวอยางตอไปนี้
ตัวอยางที่ 2.12 การบวกเลขฐานแปดตอไปนี้ (4356)8 + (5726)8 = (………..)8 วิธีทํา 4356
+ 5726 12304 ∴ (4356)8 + (5726)8 = (12304)8 ตอบ (12304)8
จากตัวอยางผลลัพธที่ไดนั้นไดมาจากหลักการดังนี ้ 6+6 = (12)10 เนื่องจากกําลังบวกเลขฐานแปดตองนํา 8 ไปลบ 12 จะไดเทากับ 4 (12-8 = 4) สรุปวา 12 มีคาเกินฐาน 8 อยู 4 จึงตองทดไปบวกกับหลักถัดไป 1
32
ตัวอยางที่ 2.13 การบวกเลขฐานแปด (4336)8 + (5435)8 = (………..)8 วิธีทํา 4336
+ 5435 11773 ∴ (4336)8 + (5435)8 = (11773)8 ตอบ (11773) จากตัวอยางผลลัพธที่ไดนั้นไดมาจากหลักการดังนี้ 5+6 = (11)10 เนื่องจากกําลังบวกเลขฐานแปดตองนํา 8 ไปลบ 11 จะไดเทากับ 3 (11-8 = 3)
2. การลบเลขฐานแปด การลบเลขฐานแปดมีวิธีปฏิบัติเชนเดียวกันกับการลบในเลขฐานสิบโดยมี
หลักเกณฑการลบดังตัวอยางตอไปนี้ ตัวอยางที่ 2.14 การลบเลขฐานแปด (12304)8 - (5726)8 = (………..)8 วิธีทํา 12304
- 5726 4356 ∴ (12304)8 - (5726)8 = (4356)8 ตอบ (12304)8 - (5726)8 = (4356)8
จากตัวอยางผลลัพธที่ไดนั้นไดมาจากหลักการดังนี้ 4-6 = (6)8 เนื่องจาก 4 มีคานอย 6 จึงไมสามารถลบกันได 4 จึงตองไปยืมหลักขางหนามาอีกแปดรวมกับคาเดิมที่มีอยู 4 เมื่อรวมกันแลวจึงมีคาเทากับ 12 จากนั้นนํา 6 ไปลบ 12 จะไดเทากับ 6 (12-6 = 6) สวนหลักขางหนา 4 มีคาเทา 0 ไมมีให 4 ยืมจึงตองไปขอยืมจาก 3 มาแปด แลวให 4 ยืมไป 1 เหลือ 7 เมื่อนํา 2 ไปลบจึงมีคาเหลือเพียง 5
33
ตัวอยางที่ 2.15 จงลบเลขฐานแปดตอไปนี้ (25507)8 - (7602)8 = (………..)8 วิธีทํา 25507
- 7602 15705 ∴ (25507)8 - (7602)8 = (15705)8 ตอบ (15705)8
3. การคูณเลขฐานแปด การคูณเลขฐานแปดมีวิธีปฏิบัติเชนเดียวกันกับการคูณในเลขฐานสิบโดยมีหลักเกณฑการคูณ
ดังตัวอยางตอไปนี้ ตัวอยางที่ 2.16 จงคูณเลขฐานแปดตอไปนี้ (3)8× (2)8 = (…)8 วิธีทํา 3
× 2 6 (7)8 × (1)8 = (…)8
× 7 1 7 (2)8 × (2)8 = (…)8
× 2 2 4
ผลลัพธที่ไดนั้นสามารถตอบไดเลยเพราะวามีคาไมเกินแปด สําหรับผลลัพธของการคูณแตละตัวที่มีคาเกินแปดใหปฏิบัติดังตัวอยางตอไปนี้
34
ตัวอยางที่ 2.17 จงคูณเลขฐานแปดตอไปนี้ (4)8× (3)8 = (…)8 วิธีทํา 4
× 3 12 เลข 12 เปนผลลัพธของเลขฐานสิบซึ่งไมยังไมใชคําตอบที่ถูก ตองนําไปแปลงเปนเลขฐานแปดเสียกอนดังนี้
12 ÷ 8 = 1 เศษ 4 ∴ (4)8× (3)8 = (14)8
ตอบ (14)8 ตัวอยางที่ 2.18 จงคูณเลขฐานแปดตอไปนี้ (43)8× (56)8 = (…)8 วิธีทํา 43
× 56
+ 322 257 3112
∴ (43)8 × (56)8 = (3112)8 ตอบ (3112)8 จากผลลัพธไดมาจากหลักการดังนี้ 3 × 6 = 18 -----> 18 ÷ 8 ผลลัพธ = 2 (ใชเปนตัวทดหลังตอไป) มีเศษแลวนํา 24 × 6 = 24 รวมตัวทดอีก 2 มีคาเทากับ 26 -----> 26 ÷ 8 ผลลัพธ = 3 (ใชเปนตัวทดหลังตอไป) มีเศษ 2 ฉะนั้น 43 × 6 จึงมีคาเทากับ 322 และ 43 × 5 มีคาเทากับ 257 แลวผลลัพธจากการคูณทั้งสองจํานวนมาบวกกันตามตําแหนงของผลลัพธจากการคูณ (03228+25708 = 31128) ฉะนั้น (43)8× (56)8 จึงเทากับ (3112)8
35
4. การหารเลขฐานแปด การหารเลขฐานแปดมวีิธีปฏิบัติเชนเดยีวกนักับการคูณในเลขฐานสิบ โดยมีหลักเกณฑการคณู
ดังตัวอยางตอไปนี ้ ตัวอยางที่ 2.19 จงหารเลขฐานแปดตอไปนี้
(3112)8 ÷ (43)8 = (……)8
วิธีทํา 56
311243 - 257
322 - 322 000
∴ (3112)8 ÷ (43)8 = (56)8 ตอบ (56)8 สรุปขั้นตอนการหารเลขฐานแปดมีดังนี ้
1. ใหนํา 43 ไปหาร 3118 กอนซึ่งจะไดเทากับ 5 2. นําผลลัพธที่ไดคือ 5 ยอนกบัไปคูณ 43 จะไดผลลัพธเปน 2578 3. นํา 3118 – 2578 จะไดผลลัพธเทากับ 32 4. แลวนํา 2 ที่อยูตอจาก 311 (ตวัตั้ง) มารวมกบั 32 ซ่ึงจะไดเปน 322 5. นํา 43 ไปหาร 322 จะไดผลลัพธเทากับ 6 6. เมื่อนํา 6 ไปคณูกับ 43 จะไดคา 322 7. นํา 322 – 322 มีคาเทากับ 0 8. ฉะนั้น (3112)8 ÷ (43)8 จึงมีคาเทากบั (56)8
การบวก ลบ คูณ หาร เลขฐานสิบหก
1. การบวกเลขฐานสิบหก
36
การบวกเลขฐานสิบหกมวีิธีปฏิบัติเชนเดียวกันกับการบวกในเลขฐานสิบแตเนื่อง จากระบบเลขฐานสิบหกมีตัวเลขที่ใชถึง 16 ตัวคือ 0 1 2 3 4 5 6 7 8 9 A B C D E และ F ดังนั้นหลักเกณฑของการบวกเลขฐานสิบหกสามารถดูไดจากตวัอยางตอไปนี ้ ตัวอยางที่ 2.20 จงบวกเลขฐานสิบหกตอไปนี้ (4356)16 + (5726)16 = (..…..)16 วิธีทํา A3C6
+ 2EC6 D28C ∴ (4356)16 + (5726)16 = (D28C)16 ตอบ (D28C)16
จากตัวอยางผลลัพธที่ไดนั้นไดมาจากหลักเกณฑดังนี ้ 6+6 = (12)10 ซ่ึงเขียนแทนดวยตัว C C+C มีคาเทากับ 24 เพราะ C มีคาเทากับ 12 ซ่ึง 24 มีคาเกิน 16 อยู 8 จึงตองนําไปเปนตัวทด ตัวอยางที่ 2.21 จงบวกเลขฐานสิบหกตอไปนี้ (F2B71)16 + (54B35)16 = (………..)16 วิธีทํา F2B71
+ 54B35 1476A6 ∴ (F2B71)16 + (54B35)16 = (1476A6)16 ตอบ (1476A6)16
2. การลบเลขฐานสิบหก การลบเลขฐานสิบหกมวีิธีปฏิบัติเชนเดียวกันกับการลบในเลขฐานสิบ โดยมีหลักเกณฑการลบ
ดังตัวอยางตอไปนี ้
37
ตัวอยางที่ 2.22 จงลบเลขฐานสิบหกตอไปนี้ (123A4)16 - (B726)16 = (………..)16 วิธีทํา 123A4
- B726 6C7E ∴ (123A4)16 - (B726)16 = (6C7E)16 ตอบ (6C7E)16 จากตัวอยางผลลัพธที่ไดนั้นไดมาจากหลักดังนี ้ 4-6 = (E)16 เนื่องจาก 4 มคีานอย 6 จึงไมสามารถลบกันได 4 จึงตองไปยืมหลักขางหนามาอีกสิบหกรวมกับคาเดิมที่มีอยู 4 เมื่อรวมกันแลวจึงมีคาเทากับ 20 จากนัน้นํา 6 ไปลบ 20 จะไดเทากับ E (20-6 = 14 หรือ E) สวนหลักขางหนา 4 มีคาเทากับ A เมื่อให 4 ยืมไป 1 จึงเหลือ 9 เมื่อนํา 7 ไปลบจึงมีคาเหลือเพียง 2 ตัวอยางที่ 2.23 จงลบเลขฐานสิบหกตอไปนี้ (2B0F7)16 - (D6E2)16 = (…....)16 วิธีทํา 2B0F7 - D6E2 1DA15 ∴ (2B0F7)16 - (D6E2)16 = (1DA15)16 ตอบ (1DA15)16
3. การคูณเลขฐานสิบหก การคูณเลขฐานสิบหกมวีิธีปฏิบัติเชนเดียวกันกับการคูณในเลขฐานสิบโดยมีหลักเกณฑการคณู
ดังตัวอยางตอไปนี ้
38
ตัวอยางที่ 2.24 จงคูณเลขฐานสิบหกตอไปนี้ (3)16 × (4)16 = (…)16 วิธีทํา 3 × 4 12 ซ่ึงมีคาเทากับ C (7)16 × (2)16 = (…)16
× 7 2 14 ซ่ึงมีคาเทากับ E (2)16 × (4)16 = (…)16
× 2 4 8
ผลลัพธที่ไดนั้นสามารถใชเปนคําตอบไดเลยเพราะวามีคาไมเกินสิบหก สําหรับผลลัพธของ
การคูณแตละตัวที่มีคาเกนิสิบหกใหปฏิบัตดิังตัวอยางตอไปนี ้ ตัวอยางที่ 2.25 จงคูณเลขฐานสิบหกตอไปนี้ (7)16 × (3)16 = (…)16 วิธีทํา 7
× 3 21 เลข 21 เปนผลลัพธของเลขฐานสิบซึ่งไมยังไมใชคําตอบที่ถูก ตองนําไปแปลงเปนเลขฐานสิบหกเสียกอนดังนี้ 21 ÷ 16 = 1 เศษ 5
∴ (7)16 × (3)16 = (15)16 ตอบ (15)16
39
ตัวอยางที่ 2.26 จงคูณเลขฐานสิบหกตอไปนี้ (F7)16 × (B2)16 = (…)16 วิธีทํา F7 × B2
+ 1EE A9D ABBE
∴ (F7)16 × (B2)16 = (ABBE)16 ตอบ (ABBE)16 จากผลลัพธไดมาจากหลักการดังนี้ 1. ใหนํา 7 × 2 = 14 หรือ E
2. นํา F × 2 = 15 × 2 = 30 ----> 30 ÷ 16 ผลลัพธ = 1 (ใชเปนตัวทดหลักตอไป) มีเศษ 14 หรือ E ฉะนั้น F7 x 2 มีคาเทากับ 1EE
3. นํา 7 × B = 77 แลวนํา 77 ÷ 16 ผลลัพธ = 4 (ใชเปนตัวทดหลักตอไป) มีเศษ 13 หรือมีคาเทากับ D
4. นํา B ไปคูณ กับ F จะมคีาเทากับ 165 บวกตัวทดอีก 4 รวมเปน 169 แลวนํา 169 ÷ 16 มีคาเทากับ 10 เหลือเศษ 9 ฉะนั้น 7×B มีคาเทากับ A9D จากนั้นนําผลลัพธจากการคูณทั้งสองจํานวนมาบวกกันตามตําแหนงของผลลัพธจากการคูณ 01EE16 + A5D016 ซ่ึงมีคาเทากับ ABBE16
4. การหารเลขฐานสิบหก การหารเลขฐานสิบหกมีวิธีปฏิบัติเชนเดียวกันกับการหารในเลขฐานสิบ โดยมีหลักเกณฑการ
หารดังตัวอยางตอไปนี้ ตัวอยางที่ 2.27 จงหารเลขฐานสิบหกตอไปนี้
(ABBE)16 ÷ (B2)16 = (……)16
วิธีทํา 7F
ABBE2B- A6E
40
4DE - 4DE 000
∴ (ABBE)16 ÷ (B2)16 = (F7)16 ตอบ (F7)16 สรุปขั้นตอนการหารเลขฐานสิบหกมีดังนี ้
1. ใหนํา B2 ไปหาร ABBE16 ซ่ึงจะไดเทากบั F 2. นําผลลัพธที่ไดคือ F ยอนกบัไปคูณ B2 จะไดผลลัพธเปน A6E16 3. นํา ABB16 – A6E16 จะไดผลลัพธเทากับ 4D 4. แลวนํา E ที่อยูตอจาก ABB (ตัวตั้ง) มารวมกับ 4D ซ่ึงจะไดเปน 4DE 5. นํา B2 ไปหาร 4DE จะไดผลลัพธเทากับ 7 6. เมื่อนํา 7 ไปคณูกับ B2 จะไดคา 4DE 7. นํา 4DE – 4DE มีคาเทากับ 0 8. ฉะนั้น (ABBE)16 ÷ (B2)16 จึงมีคาเทากับ (F7)16
การใชคอมพลีเมนตแทนเลขจํานวนลบของเลขฐานตาง ๆ
1. คอมพลีเมนตเลขฐานสิบ ในการลบเลขในระบบเลขฐานสิบ มีคอมพลีเมนตพื้นฐาน 2 แบบที่ใชกันบอยดังนี ้
1) คอมพลีเมนต 9 (9’s Complement) 2) คอมพลีเมนต 10 (10’s Complement) คอมพลีเมนตเลขฐานสิบหมายถึง การลบเลขฐานสิบจํานวนใดๆ ดวยวิธีการบวกแตวิธีการบวกนัน้ใชเลขคอมพลีเมนตของตัวลบ ตัวอยางที่ 2.28 จงหาคอมพลีเมนต 9 ของ (524108)10 วิธีทํา (524108)10 คอมพลีเมนต 9 มีคาเทากับ 475891
ซ่ึงผลลัพธดังกลาวนั้นไดมาดังนี้ 9-5 = 4
41
9-2 = 7 9-4 = 5 9-1 = 8 9-0 = 9 9-8 = 1 ∴ คอมพลีเมนต 9 ของ (524108)10 คือ (475891)10
ตอบ (475891)10 ตัวอยางที่ 2.29 จงหาคอมพลีเมนต 10 ของ (524108)10 คอมพลีเมนต 10 มีคาเทากับ คอมพลีเมนต 9 +1 วิธีทํา (524108)10 คอมพลีเมนต 9 มีคาเทากับ 475891
(524108)10 คอมพลีเมนต 10 มีคาเทากับ 475891+1 = 475892 ∴ คอมพลีเมนต 10 ของ (524108)10 คือ (475892)10
ตอบ (475892)10
ตัวอยางที่ 2.30 จงลบเลข 725 ดวย 584 ดวยวิธีคอมพลีเมนต 9
- + วิธีทํา 725 725 584 คอมพลีเมนต 9 ของ 584 มีคาเทากับ 415 141 ตัวทด --------------> 1 140
+ 1
141 ตัวทดนําไปบวกเพิ่ม
∴ 725 - 584 ดวยวิธีคอมพลีเมนต 9 จะไดเทากับ 141 ซ่ึงมีคาเทากับการลบวิธีปกติ ตอบ (141)10
42
ตัวอยางที่ 2.31 จงลบเลข 725 ดวย 584 ดวยวิธีคอมพลีเมนต 10
- + วิธีทํา 725 725 584 คอมพลีเมนต 10 (คอมพลีเมนต 9+(1)) = (415+1) = 416 141 ตัวทดตัดทิง้ไมนํามาพิจารณา --------------> 1 141
∴725 - 584 ดวยวิธีคอมพลีเมนต 10 จะไดเทากับ 141 ซ่ึงมีคาเทากับการลบวิธีปกติ ตอบ (141)10 การลบโดยวิธีการบวกดวยคอมพลีเมนตเลขฐานนั้น ผลลัพธจะมีคาเทากันกับการลบวิธีปกติแตคอมพลีเมนต 9 แตกตางกับคอมพลีเมนต 10 ตรงที่ตัวทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 9 ใหนํามาบวกเพิ่ม สวนตวัทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 10 ใหตดัทิ้งไมนํามาพิจารณา 2. คอมพลีเมนตเลขฐานสิบหก
ในการลบเลขในระบบเลขฐานสิบหก มคีอมพลีเมนตพื้นฐาน 2 แบบที่ใชกันบอยดังนี ้ 1) คอมพลเีมนต 15 (15’s Complement) 2) คอมพลีเมนต 16 (16’s Complement) คอมพลีเมนตเลขฐานสิบหกหมายถึง การลบเลขฐานสิบหกจํานวนใด ๆ ดวยวิธีการบวก แตวิธีการบวกนัน้ใชเลขคอมพลีเมนตของตัวลบ ตัวอยางที่ 2.32 จงหาคอมพลีเมนต 15 ของ (A5F47)16 วิธีทํา (A5F47)16 คอมพลีเมนต 15 มีคาเทากับ 5A0B8
ซ่ึงผลลัพธดังกลาวนั้นไดมาดังนี้ 15-10 = 5 15-5 = 10 = A 15-15 = 0 15-4 = 11 = B 15-7 = 8 ∴ คอมพลีเมนต 15 ของ (A5F47)16 คือ (5A0B8)16
ตอบ (5A0B8)16
43
ตัวอยางที่ 2.33 จงหาคอมพลีเมนต 16 ของ (A5F47)16
คอมพลีเมนต 16 มีคาเทากับ คอมพลีเมนต 15 +1 วิธีทํา คอมพลีเมนต 15 ของ (A5F47)16 มีคาเทากับ (5A0B8)16
คอมพลีเมนต 16 ของ (A5F47)16 มีคาเทากับ 5A0B8+1 = 5A0B9 ∴ คอมพลีเมนต 16 ของ (A5F47)16 คือ (5A0B9)16
ตอบ (5A0B9)16
ตัวอยางที่ 2.34 จงลบเลข B04D1 ดวย A4F3 โดยวิธีคอมพลีเมนต 15
+ - วิธีทํา B04D1 B04D1 0A4F3 คอมพลีเมนต 15 ของ 0A4F3 มีคาเทากับ F5B0C A5FDE ตัวทด --------------> 1A5FDD
+ 1 A5FDE
ตัวทดนําไปบวกเพิ่ม
∴ B04D1 - 0A4F3 ดวยวิธีคอมพลีเมนต 15 จะไดเทากบั A5FDE ตอบ (A5FDE)16
ตัวอยางที่ 2.35 จงลบเลข B04D1 ดวย A4F3 โดยวิธีคอมพลีเมนต 16
+ - วิธีทํา B04D1 B04D1 A4F3 คอมพลีเมนต 16 (คอมพลีเมนต 16+(1)) = (F5B0C +1) = F5B0D A5FDE ตัวทดตัดทิง้ไมนํามาพิจารณา --------------> 1 A5FDE
∴ B04D1 - 0A4F3 ดวยวิธีคอมพลีเมนต15 จะไดเทากบั A5FDE ตอบ (A5FDE)16 การลบโดยวิธีการบวกดวยคอมพลีเมนตเลขฐานนั้น ผลลัพธจะไดเทากัน แตคอมพลีเมนต 15 แตกตางกับคอมพลีเมนต 16 ตรงที่ตัวทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 15 ใหนํามาบวกเพิ่ม สวนตัวทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 16 ใหตัดทิ้งไมนํามาพิจารณา
44
3. คอมพลีเมนตเลขฐานแปด ในการลบเลขในระบบเลขฐานแปด มีคอมพลีเมนตพื้นฐาน 2 แบบที่ใชกันบอยดังนี้
1) คอมพลีเมนต 7 (7’s Complement) 2) คอมพลีเมนต 8 (8’s Complement) คอมพลีเมนตเลขฐานแปดหมายถึง การลบเลขฐานแปดจํานวนใด ๆ โดยวิธีการบวก แตวิธีการบวกนั้นใชเลขคอมพลีเมนตของตัวลบ ตัวอยางที่ 2.36 คอมพลีเมนต 7 ของ (52470)8 วิธีทํา (52470)8 คอมพลีเมนต 7 มีคาเทากับ 25307
ซ่ึงผลลัพธดังกลาวนั้นไดมาดังนี้ 7-5 = 2 7-2 = 5 7-4 = 3 7-7 = 0 7-0 = 7 ∴ คอมพลีเมนต 7 ของ (52470)8 คือ (25307)8
ตอบ (25307)8
ตัวอยางที่ 2.37 คอมพลีเมนต 8 ของ (52470)8
คอมพลีเมนต 8 มีคาเทากับ คอมพลีเมนต 7 +1 วิธีทํา คอมพลีเมนต 7 ของ (52470)8 มีคาเทากับ 25307
คอมพลีเมนต 8 ของ (52470)8 มีคาเทากับ 25307+1 = 25310 ∴ คอมพลีเมนต 8 ของ (52470)8 คือ (25310)8
ตอบ (25310)8
45
ตัวอยางที่ 2.38 จงลบเลข 1725 ดวย 564 ดวยวิธีคอมพลีเมนต 7
- + วิธีทํา 1725 1725 564 คอมพลีเมนต 7 ของ 564 มีคาเทากับ 7213
+ 1141 ตัวทด --------------> 1 1140
1 1141
ตัวทดนําไปบวกเพิ่ม
∴ 1725 - 564 ดวยวิธีคอมพลีเมนต 7 จะไดเทากับ 1141 ซ่ึงมีคาเทากับการลบวิธีปกติ ตอบ (1141)8 ตัวอยางที่ 2.39 จงลบเลข 1725 ดวย 564 ดวยวิธีคอมพลีเมนต 8
- + วิธีทํา 1725 1725 564 คอมพลีเมนต 8 (คอมพลีเมนต 7+(1)) = (7213+1) = 7214 1141 ตัวทดตัดทิง้ไมนํามาพิจารณา --------------> 1 1141
∴ 1725-564 ดวยวิธีคอมพลีเมนต 8 จะไดเทากับ 1141 ซ่ึงมีคาเทากับการลบวิธีปกติ ตอบ (1141)8 การลบโดยวิธีการบวกดวยคอมพลีเมนตเลขฐานนั้น ผลลัพธจะไดเทากันกับการลบวิธีปกติ แตคอมพลีเมนต 7 แตกตางกับคอมพลีเมนต 8 ตรงที่ตัวทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 7 ใหนํามาบวกเพิ่ม สวนตวัทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 8 ใหตดัทิ้งไมนํามาพิจารณา 4. คอมพลีเมนตเลขฐานสอง ในการลบเลขในระบบเลขฐานสอง มีคอมพลีเมนตพื้นฐาน 2 แบบที่ใชกนับอยดังนี ้ 1) คอมพลีเมนต 1 (1’s Complement) 2) คอมพลีเมนต 2 (2’s Complement) การคอมพลีเมนตเลขฐานสองหมายถึง การลบเลขฐานสองจํานวนใด ๆ โดยวิธีการบวกแตวิธี การบวกนัน้ใชเลขคอมพลีเมนตของตัวลบ
46
ตัวอยางที่ 2.40 คอมพลีเมนต 1 ของ (11011)2
วิธีทํา (11011)2 คอมพลีเมนต 1 มีคาเทากับ 00100 ซ่ึงผลลัพธดังกลาวนั้นไดมาดังนี้ 1-1 = 0 1-1 = 0 1-0 = 1 1-1 = 0 1-1 = 0 ∴ คอมพลีเมนต 1 ของ (11011)2 คือ (00100)2
ตอบ (00100)2 ตัวอยางที่ 2.41 คอมพลีเมนต 2 ของ (11011)2
คอมพลีเมนต 2 มีคาเทากับ คอมพลีเมนต 1 +1 วิธีทํา คอมพลีเมนต 1 ของ (11011)2 มีคาเทากับ 00100
คอมพลีเมนต 2 ของ (11011)2 มีคาเทากับ 00100+1 = 00101 ∴ คอมพลีเมนต 2 ของ (11011)2 คือ (00101)2
ตอบ (00101)2
ตัวอยางที่ 2.42 จงลบเลข 10011 ดวย 1101 โดยวิธีคอมพลีเมนต 1
- + วิธีทํา 10011 10011 1101 คอมพลีเมนต 1 ของ 1101 มีคาเทากับ 10010
+ 110 ตัวทด --------------> 1 00101
1 110
ตัวทดนําไปบวกเพิ่ม
∴ 10011-1101 ดวยวิธีคอมพลีเมนต 1 จะไดเทากับ 110 จะมีคาเทากบัการลบวิธีปกติ ตอบ (110)2
47
ตัวอยางที่ 2.43 จงลบเลข 10011 ดวย 1101 โดยวิธีคอมพลีเมนต 2
+ - วิธีทํา 10011 10011 1101 คอมพลีเมนต 2 ของ 1101 (คอมพลีเมนต 1+1) มีคาเทากบั 10011 110 ตัวทดตัดทิ้งไมนํามาพิจารณา --------------> 1 00110
∴ 10011-1101 ดวยวิธีคอมพลีเมนต 2 จะไดเทากับ 110 จะมีคาเทากบัการลบวิธีปกติ ตอบ (110)2
การลบโดยวิธีการบวกดวยคอมพลีเมนตเลขฐานนั้น ผลลัพธจะไดเทากันกับการลบวิธีปกติ แตคอมพลีเมนต 1 แตกตางกับคอมพลีเมนต 2 ตรงที่ตัวทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 1 ใหนํามาบวกเพิ่ม สวนตัวทดของผลลัพธจากการบวกดวยวิธีคอมพลีเมนต 2 ใหตัดทิ้งไมนํามาพิจารณา สรุป ผูออกแบบวงจรคํานวณหรอืเปรียบเทียบ เพื่อนําไปใชในระบบคอมพิวเตอรจําเปนอยางยิ่งตองมีความรูความเขาใจถึงหลักการและวิธีคํานวณเลขฐานตาง ๆ เปนอยางดี ไมวาจะเปนการบวก ลบ คูณ หรือหาร รวมทั้งการลบดวยวิธีการบวกที่เรียกวาคอมพลเีมนต หลักการคํานวณโดยทั่วไปผูออกแบบมักคุนเคยกับวิธีการคํานวณระบบเลขฐานสิบ แตการออกแบบวงจรเพื่อใหสามารถคํานวณเลขไดทกุฐาน นั้นทําไดไมแตกตางไปจากการคํานวณระบบเลขฐานสิบ เพียงแตใหพึงระวังวาขณะนี้กําลังคํานวณเลขฐานอะไร และตัวเลขสูงสุดในฐานนั้น ๆ คืออะไร การทด การยืมก็เหมือนกับเลขฐานสิบทุกประการ แบบฝกหัดทายบท
1. จงบวกเลขฐานตอไปนี ้ ก. (1011011.110)2 + (11101.111)2
ข. (75621.04)8 + (3254.26)8
ค. (75A6C.21D)16 + (3E4F.A6)16
2. จงลบเลขฐานตอไปนี ้ ก. (1001011.1110)2 - (101101.1011)2
ข. (32141.04)8 - (3674.43)8
48
ค. (846AC.B9D)16 - (6E4D.F8)16
3. จงคูณเลขฐานตอไปนี ้ ก. (1011011)2 x (1101)2
ข. (10110.11)2 x (11.01)2
ค. (3214)8 x (43)8 ง. (321.4)8 x (43.7)8
จ. (846AC)16 x (6E)16
ฉ. (846.AC)16 x (6E.A)16
4. จงหารเลขฐานตอไปนี ้ ก. (1010010111)2 ÷ (110011)2
ข. (1227)8 ÷ (63)8
ค. (297)16 ÷ (22)16
5. จงลบเลขฐานสองตอไปนี้ดวยวิธีการบวกโดยใชคอมพลีเมนต 1 ก. (1101101)2 - (0110110)2
ข. (1110010)2 - (0111100011)2
6. จงลบเลขฐานสองตอไปนี้ดวยวิธีการบวกโดยใชคอมพลีเมนต 2 ก. (1011101)2 - (0111011)2
ข. (11100111)2 - (011110011)2
7. จงลบเลขฐานแปดตอไปนี้ดวยวิธีการบวกโดยใชคอมพลีเมนต 7 ก. (7654)8 - (3576)8
ข. (77564)8 - (61573)8
8. จงลบเลขฐานแปดตอไปนี้ดวยวิธีการบวกโดยใชคอมพลีเมนต 8 ก. (4567)8 - (3765)8
ข. (773355)8 - (567437)8
9. จงลบเลขฐานสิบหกตอไปนี้ดวยวิธีการบวกโดยใชคอมพลีเมนต 15 ก. (5A3E)16 - (3FAC)16
ข. (FEAC3)16 - (DEACB)16
49
10. จงลบเลขฐานสิบหกตอไปนี้ดวยวิธีการบวกโดยใชคอมพลีเมนต 16 ก. (79A53E)16 - (5AE397)16
ข. (A73F5BCD)16 - (9E5BCDE7)16
เอกสารอางอิง ธนัท ชัยยุทธ และกณพ แกวพิชัย. 2546. ดิจิตอลพื้นฐาน. กรุงเทพมหานคร : ซีเอ็ดยูเคชั่น จํากัด. ธวัชชัย เล่ือนฉวี และอนุรักษ เถ่ือนศิริ. 2546. ดิจิตอลเทคนิค. กรุงเทพมหานคร : มิตรนราการพมิพ. นภัทร วจันเทพินทร. 2545. วงจรดิจิตอล ภาคปฏิบตั.ิ กรุงเทพมหานคร : สยามสปอรต ซินดิเคท. มงคล ทองสงคราม. 2545. ดิจิตอลเบื้องตน. กรุงเทพมหานคร : รามาการพิมพ. รุงแสง เครือไวศยวรรณ. 2545. การออกแบบวงจรดิจิตอล. กรุงเทพมหานคร : สมาคมสงเสริม เทคโนโลยี.