บทที่ 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 วิธีทํา 1100 12 + + 1010 10 10 1 1 0 22 ∴ (1100)2 + (1010)2 = (10110)2 ตอบ (10110)2 ตัวอยางที่ 2.2 การบวกเลขฐานสองตอไปนี้ (1101.11)2 + (1011.10)2 = (………..)2 วิธีทํา 1101.11 13.75 1011.10 + 11.50 11 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 วิธีทํา 1001.11 09.75 + 1011.10 + 11.50 1111.11 + 15.75 + 100101 .00 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 วิธีทํา 1100 1010 0010 ∴ (1100)2 - (1010)2 = (10)2 ตอบ (10)2
12 10 02
ตัวอยางที่ 2.5 การลบเลขฐานสองตอไปนี้ (1101.11)2 - (111.10)2 = (………..)2 วิธีทํา 1101.11 0111.10 110 .01 ∴ (1101.11)2 - (111.10)2 = (110.01)2 ตอบ (110.01)2
13.75 7.50 6.25
-
28 ตัวอยางที่ 2.6 การลบเลขฐานสองตอไปนี้ (1111.11)2 - (1001.10)2 - (11.11)2 = (………..)2 วิธีทํา 1111.11 15.75 1001.10 09.50 0011.11 03.75 100.10 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 วิธีทํา 1100 × 101 1100 0000 +
29
ตอบ
1100 111100 ∴ (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 × 00 00000 0000 000 0000000 1 1 0 1 1 01 + 1101101 1101101 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
ฐานสิบ 13.625 7 95.375
×
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 101 100011 101 111 101 101 101 000
ตอบ
∴ (100011)2÷ (101)2 = (111)2 (111)2
31 ตัวอยางที่ 2.11 การหารเลขฐานสองตอไปนี้ (111100)2÷ (110)2 = (………..)2 วิธีทํา 1010 110 111100
ตอบ
∴ (1010)2
110 110 110 000 (111100)2÷ (110)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 43 3112
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 (7)16 × (2)16 = (…)16 7 × 2 14
ซึ่งมีคาเทากับ C
ซึ่งมีคาเทากับ 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 วิธีทํา
F7 B2 ABBE
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 584 คอมพลีเมนต 9 ของ 584 มีคาเทากับ ตัวทด --------------> 141
ตอบ
725 415 + 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 ตัวทดตัดทิง้ ไมนํามาพิจารณา --------------> 1 141 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 ตัวทด --------------> 1A5FDD A5FDE + 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 564 คอมพลีเมนต 7 ของ 564 มีคาเทากับ ตัวทด --------------> 1141
ตอบ
∴ (1141)8
1725 7213 + 1 1140 + 1 ตัวทดนําไปบวกเพิ่ม 1141 1725 - 564 ดวยวิธีคอมพลีเมนต 7 จะไดเทากับ 1141 ซึ่งมีคาเทากับการลบวิธีปกติ
ตัวอยางที่ 2.39 จงลบเลข 1725 ดวย 564 ดวยวิธีคอมพลีเมนต 8 วิธีทํา 1725 1725 564 คอมพลีเมนต 8 (คอมพลีเมนต 7+(1)) = (7213+1) = + 7214 ตัวทดตัดทิง้ ไมนํามาพิจารณา --------------> 1 1141 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 + ตัวทด --------------> 1 00101 110 + 1 ตัวทดนําไปบวกเพิ่ม 110 ∴ 10011-1101 ดวยวิธีคอมพลีเมนต 1 จะไดเทากับ 110 จะมีคาเทากับการลบวิธีปกติ ตอบ (110)2
47 ตัวอยางที่ 2.43 จงลบเลข 10011 ดวย 1101 โดยวิธีคอมพลีเมนต 2 วิธีทํา 10011 10011 + 1101 คอมพลีเมนต 2 ของ 1101 (คอมพลีเมนต 1+1) มีคาเทากับ 10011 1 00110 110 ตัวทดตัดทิ้งไมนํามาพิจารณา --------------> ∴ 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
3.
4.
5.
6.
7.
8.
9.
ค. (846AC.B9D)16 - (6E4D.F8)16 จงคูณเลขฐานตอไปนี้ ก. (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 จงหารเลขฐานตอไปนี้ ก. (1010010111)2 ÷ (110011)2 ข. (1227)8 ÷ (63)8 ค. (297)16 ÷ (22)16 จงลบเลขฐานสองตอไปนี้ดวยวิธกี ารบวกโดยใชคอมพลีเมนต 1 ก. (1101101)2 - (0110110)2 ข. (1110010)2 - (0111100011)2 จงลบเลขฐานสองตอไปนี้ดวยวิธกี ารบวกโดยใชคอมพลีเมนต 2 ก. (1011101)2 - (0111011)2 ข. (11100111)2 - (011110011)2 จงลบเลขฐานแปดตอไปนี้ดวยวิธกี ารบวกโดยใชคอมพลีเมนต 7 ก. (7654)8 - (3576)8 ข. (77564)8 - (61573)8 จงลบเลขฐานแปดตอไปนี้ดวยวิธกี ารบวกโดยใชคอมพลีเมนต 8 ก. (4567)8 - (3765)8 ข. (773355)8 - (567437)8 จงลบเลขฐานสิบหกตอไปนี้ดวยวิธกี ารบวกโดยใชคอมพลีเมนต 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. การออกแบบวงจรดิจิตอล. กรุงเทพมหานคร : สมาคมสงเสริม เทคโนโลยี.