25
บทที2 การคํานวณเลขฐาน มนุษยนําคอมพิวเตอรมาใชเปนเครื่องมือในการคํานวณเปรียบเทียบ เก็บขอมูล และวิเคราะห ขอมูลในรูปแบบตาง ไดอยางมากมายไมวาจะเปนขอความ รูปภาพ ตัวเลข หรือภาพเคลื่อนไหว ทีคอมพิวเตอรสามารถทําได ทั้งนี้เพราะภายในตัวคอมพิวเตอรมีวงจรชนิดหนึ่ง ที่ทําหนาที่คํานวณและ เปรียบเทียบ ดังนั้นผูดูและระบบ ผูออกแบบระบบ หรือผูสรางคอมพิวเตอรตองมีความรูความเขาใจ เกี่ยวกับการคํานวณเลขฐานเปนอยางดี จึงจะสามารถออกแบบวงจรเพื่อนําไปใชในระบบคอมพิวเตอร ไดอยางสมบูรณและมีประสิทธิภาพมากที่สุด การบวก ลบ คูณ หาร เลขฐานสอง คอมพิวเตอรมีความสามารถในการดําเนินการทางคณิต คือ ทําการบวก ลบ คูณ หาร ไดดวย ความเร็วที่สูงมาก ในอัตราความเร็วถึง 16,600 ครั้งตอ 1 วินาทีหรือสูงกวาทั้งนี้ขึ้นอยูกับสมรรถนะ ของคอมพิวเตอรแตละรุนแตละระบบ ซึ่งสามารถทําการบวก ดําเนินกรรมวิธี การโยกยายขอมูลได อยางอัตโนมัติ คอมพิวเตอรดําเนินการตาง ดวยระบบเลขฐานสอง จึงทําใหขีดความสามารถในการ ทํางานทางเลขคณิตมีประสิทธิภาพที่สูงมาก เพราะระบบเลขฐานสองมีลักษณะตรงกับสถานะ การปด เปดกระแสไฟฟาเพื่อปอนใหกับเครื่องคอมพิวเตอรหรือเครื่องอิเล็กทรอนิกสทํางาน 1. การบวกเลขฐานสอง การบวกเลขฐานสองมีวิธีปฏิบัติเชนเดียวกันกับการบวกในเลขฐานสิบแตเนื่องจากระบบ เลขฐานสองมีตัวเลขเพียงสองตัวคือ 0 กับ 1 ดังนั้นการบวกจึงมีหลักเกณฑดังนี1 + 1 = 0 และทดไว 1 เพื่อบวกกับเลขหลักตอไป 1 + 0 = 1 0 + 1 = 1 0 + 0 = 0

บทที่ 2 - jumrus.crru.ac.thjumrus.crru.ac.th/cp1701_digital/lesson2.pdf · ∴ (1100)2 x (101)2 = (111100)2 ตอบ (111100) 2 ตัวอย างที่การค

  • 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. การออกแบบวงจรดิจิตอล. กรุงเทพมหานคร : สมาคมสงเสริม เทคโนโลยี.