30
บทที 7 การคํานวณเลขฐานและและการแทนรหัสข้อมูล

บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

บทท 7

การคานวณเลขฐานและและการแทนรหสขอมล

Page 2: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

การคานวณเลขฐาน (CALCULATE BASE NUMBER)

การคานวณเลขฐานเปนการคานวณเลขฐานตางๆ ซงเปนการ

คานวณในการบวกเลขฐาน และการคานวณในการลบเลขฐาน

เชนการบวกและลบของเลขฐานสอง การบวกและลบของเลขฐาน

แปด การบวกและลบของเลขฐานสบ และการบวกและลบของ

เลขฐานสบหกเปนตน

Page 3: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

การบวกเลขฐานสอง เลขฐานแปด เลขฐานสบหก

หลกการคานวณพนฐานในการบวกของเลขฐานสอง เลขฐาน

แปด และเลขฐานสบหากหรอเลขฐานตางๆ จะกระทาคลายกน

กบการคานวณเลขฐานสบทเรานยมใช ถากระทาการบวกไดเกน

เลขฐานใหทาการทดไปยงบตทมนยสาคญสงกวาถดไป เพอใชใน

การคานวณในสวนของบตทมนยสาคญสงกวาถดไป

Page 4: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

หลกการบวกเลขฐานสอง เลขฐานแปด เลขฐานสบหก

1. ใหบวกเลขแตละหลกตามปกตเหมอนการบวกเลขฐานสบ

2. ถาผลบวกไดไมเกนเลขฐาน ใหใสผลบวกทไดเปนผลลพธ

3. ถาผลบวกไดเทากนกบเลขฐานหรอเกนเลขฐานนน ใหใส

ผลลพธของคาผลบวกของเลขฐานทเกนเลขฐานนนแลวทดคาไป

ยงบตถดไป (ทดไปยงบตทมนยสาคญสงกวา: MSD)

Page 5: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.1 ใหทาการบวกเลขฐานดงน (6547)10 + (1234)10

วธทา

6 5 4 7

+

1 2 3 4

7 7 8 1

คาตอบคอ

(6547)10 + (1234)10 = (7781)2

Page 6: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.2 ใหทาการบวกเลขฐานดงน (1111)2 + (1011)2

วธทา

1 1 1 1

+

1 0 1 1

1 1 0 1 0

คาตอบคอ

(1111)2 + (1011)2 = (11010)2

Page 7: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.3 ใหทาการบวกเลขฐานดงน (375)8 + (421)8

วธทา

3 7 5

+

4 2 1

1 0 1 6

คาตอบคอ

(375)8 + (421)8 = (1016)8

Page 8: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.4 ใหทาการบวกเลขฐานดงน (235A)16 + (3B71)16

วธทา

2 3 5 A

+

3 B 7 1

5 E C B

คาตอบคอ

(235A)16 + (3B71)16 = (5ECB)16

Page 9: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.5 ใหทาการบวกเลขฐานดงน (1234)8 + (55)16 = (?)8

วธทา

แปลง (55)16 ใหอยในรปแบบของเลขฐานแปด

(55)16 = (01010101)2 = (125)8

1 2 3 4

+

1 2 5

1 3 6 1

คาตอบคอ

(1234)8 + (55)16 = (1361)8

Page 10: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

การลบเลขฐานสอง เลขฐานแปด เลขฐานสบหก

หลกการคานวณพนฐานในการลบของของเลขฐานสอง เลขฐาน

แปด และเลขฐานสบหากหรอเลขฐานตางๆ จะกระทาคลายกน

กบการคานวณเลขฐานสบทเรานยมใช ถาตวตงนอยกวาตวลบ

จะไมสามารถกระทาการลบได ดงนนจงจาเปนตองยมตวยมทอย

ในบตทมนยสาคญสงกวามาทละหนงบต จงจะสามารถทาการ

ลบได

Page 11: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

หลกการลบเลขฐานสอง เลขฐานแปด เลขฐานสบหก

1. กรณหลกตวตงเทากนหรอมากกวาใหลบตามปกต

2. กรณทหลกตวตงนอยกวาตวลบ จะตองมการยม โดยการยมแตละครงม

หลกเกณฑคอ ใหยมตวทบตทมนยสาคญสงกวามา 1 บต (ยมบตทมบต

นยสาคญสงกวาถดไป) ตวทยมจะมคาลดลงไป 1 คา โดยคาทยมมาจะม

คาเทากบคาของเลขฐานนน (เชนเลขฐานสบคาทยมเขามาจะมคาเทากบ

10 เลขฐานสองคาทยมเขามาจะมคาเทากบ 2 เลขฐานแปดคาทยมเขามา

จะมคาเทากบ 8 และเลขฐานสบหกคาทยมเขามาจะมคาเทากบ 16)

จากนนใหนาคาทยมเขามาไปบวกกบตวตง ไดเทาไรกใหนามาลบออกกบ

ตวลบ กจะไดผลลพธตามตองการ

Page 12: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.6 ใหทาการลบเลขฐานดงน (9211)10 – (1234)10

วธทา

9 2 1 1

-

1 2 3 4

7 9 7 7

คาตอบ

(9211)10 – (1234)10 = (7977)10

Page 13: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.7 ใหทาการลบเลขฐานดงน (1101)2 – (1011)2

วธทา

1 1 0 1

-

1 0 1 1

0 0 1 0

คาตอบ

(1101)2 – (1011)2 = (0010)2

Page 14: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.8 ใหทาการลบเลขฐานดงน (6753)8 – (5736)8

วธทา

6 7 5 3

-

5 7 3 6

1 0 1 5

คาตอบ

(6753)8 – (5736)8 = (1015)8

Page 15: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.9 ใหทาการลบเลขฐานดงน (77AE)16 – (5B0F)16

วธทา

7 7 A E

-

5 B 0 F

1 C 9 F

คาตอบ

(77AE)16 – (5B0F)16 = (1C9F)16

Page 16: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.10 ใหทาการบวกเลขฐานดงน (1234)8 - (55)16 = (?)8

วธทา

แปลง (55)16 ใหอยในรปแบบของเลขฐานแปด

(55)16 = (01010101)2 = (125)8

1 2 3 4

-

1 2 5

1 1 0 7

คาตอบคอ

(1234)8 + (55)16 = (1107)8

Page 17: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.11 ใหทาการคานวณเลขฐานดงน (1234)8 - (55)16 + (110101)2 = (?)2

วธทา

แปลง (1234)8 ใหอยในรปแบบของเลขฐานสอง

(1234)8 = (001010011100)2

แปลง (55)16 ใหอยในรปแบบของเลขฐานสอง

(55)16 = (01010101)2

0 0 1 0 1 0 0 1 1 1 0 0

-

0 1 0 1 0 1 0 1

1 0 0 1 0 0 0 1 1 1

+

1 1 0 1 0 1

1 0 0 1 1 1 1 1 0 0

คาตอบคอ

(1234)8 - (55)16 + (110101)2 = (1001111100)2

Page 18: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

การลบเลขฐานสองโดยใชสวนเตมเตม (COMPLEMENT)

หลกการคานวณพนฐานของคอมพวเตอรในการลบสามารถกระทาได

หลายวธดงเชนการใชสวนเตมเตมหรอคอมพลเมน เนองจากบางระบบ

คอมพวเตอรจะทาการลดวงจรบางอยางออกไป ถาสรางวงจรบวก และ

วงจรลบ กหมายความวาจะตองสรางทงวงจรบวกและลบ แตถาตองการ

ประหยดวงจบลบ กจะสามารถตดวงจรลบทงไปแตจะใชวงจรบวกเพยง

อยางเดยวในการคานวณการลบเลขฐานโดยจะใชวงจรบวกและสวนเตม

เตมในการคานวณการลบของระบบนน โดยสวนเตมเตมในระบบ

เลขฐานสองจะมอย 2 แบบ คอ 1’s สวนเตมเตม (1’s Complement) และ

2’s สวนเตมเตม (2’s Complement)

Page 19: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

หลกการลบเลขฐานโดยใช 1’S สวนเตมเตม

1. ใหทาการกลบบตทกหลกของตวลบ เชนจาก “0” กลายเปน “1” จาก

“1” กลายเปน “0”

2. ใหทาการบวกตวตงและตวลบททาการกลบบต

3. ถาบวกกนมบตตวทด ในตาแหนงนยสาคญสงสด แสดงวาคาตอบทได

จะมคาเปนบวก จากนนใหทาการบวกคาตอบกบบตตวทด จะไดคาตอบ

ออกมา

4. ถาบวกกนแลวไมมบตตวทด ในตาแหนงนยสาคญสงสด แสดงวา

คาตอบทไดจะมคาเปนลบ จากนนใหทาการกลบบตผลลพธทงหมด จะได

คาตอบออกมา

Page 20: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.12 ใหทาการคานวณเลขฐานดงน (11011)2 - (10111)2

วธทา

แปลง (10111)2 โดยใช 1’s สวนเตมเตม

(10111)2 = (01000)2

1 1 0 1 1

+

0 1 0 0 0

1 0 0 0 1 1

+

1

0 0 1 0 0

คาตอบคอ

(11011)2 - (10111)2 = (00100)2

Page 21: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.13 ใหทาการคานวณเลขฐานดงน (101101)2 - (110010)2

วธทา

แปลง (110010)2 โดยใช 1’s สวนเตมเตม

(110010)2 = (001101)2

1 0 1 1 0 1

+

0 0 1 1 0 1

0 1 1 1 0 1 0

กลบบต

- 0 0 0 1 0 1

คาตอบคอ

(101101)2 - (110010)2 = (-101)2

Page 22: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

หลกการลบเลขฐานโดยใช 2’S สวนเตมเตม

1. ใหทาการกลบบตทกหลกของตวลบ เชนจาก “0” กลายเปน “1” จาก

“1” กลายเปน “0” จากนนบวกดวย “1”

2. ใหทาการบวกตวตงและตวลบททาการกลบบต

3. ถาบวกกนมบตตวทด ในตาแหนงนยสาคญสงสด แสดงวาคาตอบทได

จะมคาเปนบวก จากนนใหทาการตดบตตวทดทง จะไดคาตอบออกมา

4. ถาบวกกนแลวไมมบตตวทด ในตาแหนงนยสาคญสงสด แสดงวา

คาตอบทไดจะมคาเปนลบ จากนนใหทาการกลบบตผลลพธทงหมด

จากนนบวกดวย “1” จะไดคาตอบออกมา

Page 23: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.14 ใหทาการคานวณเลขฐานดงน (11011)2 - (10111)2

วธทา

แปลง (10111)2 โดยใช 2’s สวนเตมเตม

(10111)2 = (01000)2 + (1)2 = (01001)2

1 1 0 1 1

+

0 1 0 0 1

1 0 0 1 0 0

คาตอบคอ

(11011)2 - (10111)2 = (00100)2

Page 24: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางท 7.15 ใหทาการคานวณเลขฐานดงน (101101)2 - (110010)2

วธทา

แปลง (110010)2 โดยใช 2’s สวนเตมเตม

(110010)2 = (001101)2 + (1)2 = (001110)2

1 0 1 1 0 1

+

0 0 1 1 1 0

0 1 1 1 0 1 1

กลบบต

0 0 0 1 0 0

+

1

- 0 0 0 1 0 1

คาตอบคอ

(101101)2 - (110010)2 = (-101)2

Page 25: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

7.2 การแทนรหสขอมล (DATA REPRESENTATION)

คอมพวเตอรในปจจบนประมวลผลในรปแบบของเลขฐานสอง

คอ “0” กบ “1” ซงใชแทนขอมลตางๆ ของระบบคอมพวเตอร

ดงนนการนาเอาขอมลทมนษยเขาใจเชน เสยง รปภาพ ตวอกษร

ตวเลข หรอสญลกษณตางๆ ไปประมวลผลจะตองนาขอมล

ดงกลาวใหอยในรปของดจทลกอน โดยมาตรฐานในการแทนรหส

ขอมลทนยมใชกนในปจจบนไดแกแอสก หรอรหสมาตรฐานของ

สหรฐอเมรกาเพอการสบเปลยนสารสนเทศ (ASCII: American

Standard Code for Information Interchange) และ ยนโคด

(Unicode)

Page 26: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

มาตรฐานรหสแอสก (ASCII)

พนฐานของกลมตวอกษรเหลานจะอยในรปแบบตารางตวอกษร โดยแตละ

ตวจะถกแทนดวยรหสเลขฐานสองขนาด 7 บต ซงสามารถแทน

รหสตวอกษรได 27 = 128 ตวอกษร ตอมารหสแอสกไดรบความนยม

อยางแพรหลายและเรมไมเพยงพอตอการแทนขอมล จงมการนาเอารหส

แอสกมาปรบปรงใหสามารถแทนขอมลไดมากขน เรยกวา สวนขยายรหส

แอสก (Extend ASCII) ซงจะใชเลขฐานสองขนาด 8 บต โดยเลขฐานสอง

8 บตใชแทนอกษรหนงตวทาใหสามารถแทนอกษรได 28 = 256 ตวอกษร

โดยอกษรท 0 – 127 ยงตรงตามมาตรฐานเดม สวนอกษรท 128 – 255 ใช

แทนอกษรทประเทศนน ๆ ตองการ วธการนทาใหแทนอกษรอนท

นอกเหนอจากภาษาองกฤษได

Page 27: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

ตวอยางตารางรหสแอสก ASCII

Page 28: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

มาตรฐานรหสยนโคด (UNICODE)

เนองจากตวอกษรตามรหสแอสก แทนอกษรภาษาองกฤษกบภาษาทองถน

ไดภาษาเดยวเทานน ถาตองการแสดงผลหลายๆ ภาษาจะทาใหลาบาก

จงมการคดมาตรฐานการแทนอกษรใหมทเรยกวายนโคด ทสามารถแทน

ตวอกษรไดมากขนกวาเดม

มาตรฐานยนโคด (Unicode Standard) เปนมาตรฐานการเขา

รหสตวอกษรแบบสากล โดยสามารถเขารหสตวอกษรของภาษาตางๆ ได

จานวนมาก โดยมาตรฐานยนโคดจะใชเลขฐานสองแทนตวอกษร เรมตน

แบงเปน UCS-2 จะใชรหสเลขฐานสองขนาด 16 บต ทาใหสามารถแทน

ตวอกษรไดถง 65,536 ตวอกษร และ UCS-4 จะใชรหสเลขฐานสองขนาด

32 บต ทาใหสามารถแทนตวอกษรไดถง 2,147,483,647 ตวอกษร

Page 29: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

แบบฝกหดทบทวน

1. จงทาการคานวณเลขฐานดงน (11011)2 + (10011)2 = ( ? )8

2. จงทาการคานวณเลขฐานดงน (273)8 + (1011010)2 = ( ? )2

3. จงทาการคานวณเลขฐานดงน (354)8 + (1110)2 = ( ? )8

4. จงทาการคานวณเลขฐานดงน (5364)8 – (4756)8 = ( ? )8

5. จงทาการคานวณเลขฐานดงน (6753)8 – (5736)8 = ( ? )16

6. จงทาการคานวณเลขฐานดงน (FA89)16 – (DC6A)16 = ( ? )16

7. จงทาการคานวณเลขฐานดงน (100101)2 – (110110)2 = ( ? )2 โดยใชวธ 1’s สวนเตมเตม

8. จงทาการคานวณเลขฐานดงน (111101)2 – (100110)2 = ( ? )2 โดยใชวธ 1’s สวนเตมเตม

9. จงทาการคานวณเลขฐานดงน (101101)2 – (100110)2 = ( ? )2 โดยใชวธ 2’s สวนเตมเตม

10. จงทาการคานวณเลขฐานดงน (111101)2 – (100110)2 = ( ? )2 โดยใชวธ 2’s สวนเตมเตม

11. รหสแอสกคออะไรจงอธบาย

12. รหสยนโคดคออะไรจงอธบาย

http://www.udru.ac.th

Page 30: บทที่ 7 การคำนวณเลขฐานและและ ...cs.udru.ac.th/~krit/Document_teaching/Intro_computer...ต วจะถ กแทนด วยรห

http://www.udru.ac.thhttp://www.udru.ac.th

เอกสารอางอง

งามนจ อาจอนทร, ความรทวไปเกยวกบวทยาการคอมพวเตอร., กรงเทพฯ, 2542.ธวชชย เลอนฉว, และ อนรกษ เถอนศร, ดจตอลเทคนคเลม 1., กรงเทพฯ, ศภาลยมเดยจากด,

2537.ธรวฒน ประกอบผล, ดจตอลอเลกทรอนกส., กรงเทพฯ, แมคกรอ-ฮล อนเตอรเนชนแนล เอน

เตอรไพรส, องค., 2540.