39
บทที 6 ระบบจํานวนและการแปลงเลขฐาน

บทที่ 6 ระบบจำนวนและการแปลงเลข ...sci.udru.ac.th/websci/download/com/krit/Chapter 6.pdf · 2014-02-27 · บทที่ 6 ระบบ

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

บทท 6

ระบบจานวนและการแปลงเลขฐาน

ระบบจานวนหรอระบบตวเลข

ระบบจานวนหรอระบบตวเลข คอตวเลขตางๆ ทใชในการคานวณเพอประยกตใชใน

งานดานตางๆ ระบบจานวนมความสาคญอยางมากเพอในการใชงานคานวณ

ตวเลขตางๆ เพอทาการประมวลผลใหไดผลลพธทจะนาไปใชงาน โดยทวไประบบ

ตวเลขทมนษยเรารจกมากทสดคอระบบตวเลขฐานสบ (Decimal Number

System) คอเลข 0,1,2,3,4,5,6,7,8,9 รวมทงหมด 10 ตว ตอมาความกาวหนาทาง

เทคโนโลยสมยใหมเครองคอมพวเตอรไดถกพฒนาขน คอมพวเตอรทางานดวย

กระแสไฟฟาดงนนจงมการแทนทสภาวะของกระแสไฟฟาได 2 สภาวะ คอสภาวะท

ไมมกระแสไฟฟา และสภาวะทมกระแสไฟฟา และเพอใหมนษยสามารถสงงาน

คอมพวเตอรได ดงนนจงไดมการสรางระบบตวเลขทนามาแทนสภาวะของ

กระแสไฟฟาโดย “0” จะแทนสภาวะไมมกระแสไฟฟา และ “1” จะแทนสภาวะทม

กระแสไฟฟา ดงนนระบบจานวนในคอมพวเตอรโดยปกตจะเปนระบบเลขฐานสอง

(Binary Number System)

ระบบจานวน

ระบบจานวนของเลขฐานสอง (Binary Number System) ประกอบดวย 2

ตวเลข คอ 0 และ 1

ระบบจานวนของเลขฐานแปด (Octal Number System) ประกอบดวย 8

ตวเลข คอ 0,1,2,3,4,5,6,7

ระบบจานวนของเลขฐานสบ (Decimal Number System) ประกอบดวย

10 ตวเลข คอ 0,1,2,3,4,5,6,7,8,9

ระบบจานวนของเลขฐานสบหก (Hexadecimal Number System)

ประกอบดวย 16 ตวเลข คอ 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F โดย A =

10, B = 11, C = 12, D = 13, E = 14, F = 15

ตวอยางการเปรยบเทยบเลขฐานตางๆ กบเลขฐานสบ

เลขฐานสบ

(Decimal)

เลขฐานสอง

(Binary)

เลขฐานแปด

(Octal)

เลขฐานสบหก

(Hexadecimal)

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

การแปลงเลขฐาน

การแปลงเลขฐานเปนพนฐานทสาคญในการตดตอสอสารระหวางมนษย

กบคอมพวเตอรใหสามารถทางานรวมกนได มนษยจะคนเคยกบการ

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

รปแบบของเลขฐานสอง ดงนนจงจาเปนทจะตองศกษาเขาใจหลกการ

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

อยางมประสทธภาพ

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

การแปลงเลขฐานสบเปนเลขฐานตางๆ จะกระทาโดยใชวธการหารดวยเลข

ฐานทตองการแปลง เชนถาตองการแปลงเปนเลขฐานสองกจะเอาเลขสอง

เปนตวหาร ถาตองการแปลงเปนเลขฐานแปดกจะเอาเลขแปดเปนตวหาร

ถาตองการแปลงเปนเลขฐานสบหกกจะเอาเลขสบหกเปนตวหาร โดยจะ

กระทาการหารจนกวาจะไมสามารถทจะหารไดอกตอไป เศษทเหลอจาก

การหารแตละครงคอคาตอบทตองการ โดยเศษทเหลอจากการหารครงแรก

เปนตวทมนยสาคญนอยทสด (Least Significant Digit หรอ LSD) และ

เศษทเหลอจากการหารครงสดทายเปนตวทมนยสาคญสงสด (Most

Significant Digit หรอ MSD)

ตวอยางท 1.1 ใหทาการแปลงเลขฐานดงน (37)10 = ( ? )2

ตวหาร 2 37 เศษ

2 18 1

2 9 0

2 4 1

2 2 0

1 0

คาตอบ

(37)10 = (100101)2

ตวอยางท 1.2 ใหทาการแปลงเลขฐานดงน (50)10 = ( ? )8

ตวหาร

8 50 เศษ

8 6 2

0 6

คาตอบ

(50)10 = ( 62 )8

ตวอยางท 1.3 ใหทาการแปลงเลขฐานดงน (87)10 = ( ? )16

ตวหาร

16 87 เศษ

16 5 7

0 5

คาตอบ

(87)10 = ( 57 )16

การแปลงเลขฐานสบทเปนทศนยม

การแปลงเลขฐานสบทเปนทศนยม ถาตองการแปลงใหเปนเลขฐานอนๆ

จะกระทาโดยการใชวธการคณจานวนทศนยมนนดวยเลขฐานของเลขท

ตองการแปลง โดยผลลพธของการคณทเปนเลขจานวนเตมคอคาตอบท

ตองการ

ตวอยางท 1.4 ใหทาการแปลงเลขฐานดงน (0.6875)10 = ( ? )2

0.6875 0.3750 0.7500 0.5000

X X X X

2 2 2 2

1.3750 0.7500 1.5000 1.0000

××××

คาตอบ

(0.6875)10 = (0.1011)2

ตวอยางท 1.5 ใหทาการแปลงเลขฐานดงน (0.9375)10 = ( ? )8

0.9375 0.5000

X X

8 8

7.5000 4.0000

××

คาตอบ

(0.9375)10 = ( 0.74 )8

ตวอยางท 1.6 ใหทาการแปลงเลขฐานดงน (0.46875)10 = ( ? )16

0.46875 0.50000

X X

16 16

7.50000 8.00000

××

คาตอบ

(0.46875)10 = ( 0.78 )16

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

การแปลงเลขฐานใดๆ เปนฐานสบ สามารถทาไดโดยการนาเอาเลขแตละตาแหนงของเลขฐานนน คณดวยนาหนกของเลขฐานนนแลวนามารวมกนทงหมดกจะไดคาตอบตามทตองการ

ตวเลขในแตละหลกจะมคานาหนกทขนอยกบตาแหนงหลกและฐาน (Base) ของตวเลขนนตามสมการ

mm

nn

nn rarararararaN −

−−

−−

− +++++++= ...... 11

00

11

11

a = คาของตวเลขแตละหลกn = ตาแหนงหลกสงสดของจานวนเตมm = ตาแหนงหลกสงสดของทศนยมr = ฐาน (Base)N = ขนาดของตวเลข

โดยท

เชน

(7392)10 = (7x103 )+(3x102)+(9x101)+ (2x100)

(125.21)10 = (1x102) +(2x101)+(5x100)+(2x10-1)+(1x10-2)

(11001)2 = (1x24)+ (1x23)+ (0x22)+ (0x21)+ (1x20)

(11010.11)2 = (1x24)+(1x23)+(0x22)+(1x21)+(0x20)+(1x2-1)+(1x2-2)

(4021.2)5 = (4x53)+(0x52)+(2x51)+(1x50)+(2x5-1)

(365F)16 = (11x163)+(6x162)+(5x161)+(15x160)

ตวอยางท 1.7 ใหทาการแปลงเลขฐานดงน (110111)2 = ( ? )10

(110111)2 = (1×25)+(1×24)+(0×23)+(1×22)+(1×21)+(1×20)

= 32 + 16 + 0 + 4 +2 + 1

= 55

คาตอบ

(110110)2 = ( 55 )10

ตวอยางท 1.8 ใหทาการแปลงเลขฐานดงน (37)8 = ( ? )10

(37)8 = (3×81)+(7×80)

= 24 +7

= 31

คาตอบ

(37)8 = ( 31)10

ตวอยางท 1.9 ใหทาการแปลงเลขฐานดงน (6E)16 = ( ? )10

(6E)16 = (6×161)+(E×160)

= 96 +14

= 110

คาตอบ

(6E)16 = ( 110 )10

ตวอยางท 1.10 ใหทาการแปลงเลขฐานดงน (0.101)2 = ( ? )10

(0.101)2 = (1×2-1)+(0×2-2)+(1×2-3)

= 0.5 + 0 + 0.125

= 0.625

คาตอบ

(0.101)2 = ( 0.625 )10

ตวอยางท 1.11 ใหทาการแปลงเลขฐานดงน (0.63)8 = ( ? )10

(0.63)8 = (6×8-1)+(3×8-2)

= 0.75 + 0.046875

= 0.796875

คาตอบ

(0.63)8 = (0.796875)10

ตวอยางท 1.12 ใหทาการแปลงเลขฐานดงน (0.A5)16 = ( ? )10

(0.A5)16 = (10×16-1)+(5×16-2)

= 0.625 + 0.01953

= 0.64453

คาตอบ

(0.A5)16 = (0.64453)10

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

เลขฐานสองเปนเลขฐานแปด

การแปลงเลขฐานแปดเปนเลขฐานสอง จะกระทาโดยใชการใชเลข 1 บต

(Bit ยอมาจาก Binary Digit) ของเลขฐานแปดแทนดวยเลขฐานสอง

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

เลขฐานสองเปนเลขฐานแปด กระทาไดโดยการแทนคาตางๆ ดงแสดงใน

ตารางแสดงความสมพนธระหวางเลขฐานแปดกบเลขฐานสอง

ตารางแสดงความสมพนธระหวางเลขฐานแปดกบเลขฐานสอง

เลขฐานแปด

(Octal)

เลขฐานสอง

(Binary)

0 000

1 001

2 010

3 011

4 100

5 101

6 110

7 111

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

วธการแปลงเลขฐานสองเปนฐานแปด จะทาการจดกลมของเลขฐานสองท

ละ 3 บต โดยใหจดกลมจากบตทมนยสาคญนอยทสด (LSD) ไปบตทม

นยสาคญสงสด (MSD) ถาจบกลมไมครบทละ 3 บต ใหเพมดจต 0 จน

ครบ 3 บต

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

วธการแปลงเลขฐานแปดเปนเลขฐานสองจะทาการแทนเลขแปดดวย

เลขฐานสองจานวน 3 บต

ตวอยางท 1.13 ใหทาการแปลงเลขฐานดงน

(01101001001.01010)2 = ( ? )8

0 1 1 0 1 0 0 1 0 0 1 . 0 1 0 1 0

001 = 1, 101 = 5, 001 = 1,001 = 1

010 = 2, 100 = 4

คาตอบ

(01101001001.01010)2 = (1511.24 )8

ตวอยางท 1.14 ใหทาการแปลงเลขฐานดงน (524.61)8 = ( ? )2

5 = 101, 2 = 010, 4 = 100

6 = 110, 1 = 001

คาตอบ

(524.61)8 = (101010100.110001)2

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

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

การแปลงเลขฐานสบหกเปนเลขฐานสอง จะกระทาโดยใชการใชเลข 1 บต

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

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

หก กระทาไดโดยการแทนคาตางๆ ดงแสดงในตารางความสมพนธระหวาง

เลขฐานสบหกกบเลขฐานสอง

ตารางความสมพนธระหวางเลขฐานสบหกกบเลขฐานสอง

เลขฐานสบหก

(Hexadecimal)

เลขฐานสอง

(Binary)

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

A 1010

B 1011

C 1100

D 1101

E 1110

F 1111

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

วธการแปลงเลขฐานสองเปนฐานสบหก จะทาการจดกลมของเลขฐานสอง

ทละ 4 บต โดยใหจดกลมจากบตทมนยสาคญนอยทสด (LSD) ไปบตทม

นยสาคญสงสด (MSD) ดงรปท 1.5 ถาจบกลมไมครบทละ 4 บต ใหเพม

ดจต 0 ขางหนาบตทมนยสาคญสงสดจนครบ 4 บต

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

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

ตวอยางท 1.15 ใหทาการแปลงเลขฐานดงน

(11101001000.01011)2 = ( ? )16

0111 = 7, 0100 = 4, 1000 = 8

0101 = 5, 1000 = 8

คาตอบ

(11101001000.01011)2 = ( 748.58 )8

ตวอยางท 1.16 ใหทาการแปลงเลขฐานดงน (524.61)16 = ( ? )2

5 = 0101, 2 = 0010, 4 = 0100

6 = 0110, 1 = 0001

คาตอบ

(524.61)8 = (010100100100.01100001)2

รปแบบเทคนคการแปลงเลขฐาน

เลขฐานสบ

(Decimal)

เลขฐานสอง

(binary)

เลขฐานแปด

(Octal)

เลขฐานสบหก

(Hexadecimal)

ตวอยางท 1.17 ใหทาการแปลงเลขฐานดงน (6504.327)8 = ( ? )16

แปลงเลขฐานแปดเปนเลขฐานสอง

6 = 110, 5 = 101, 0 = 000, 4 = 100

3 = 011, 2 = 010, 7 = 111

จะได

(6504.327)8 = ( 110101000100.011010111 )2

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

คาตอบ

(6504.327)8 = ( D44.6B8 )16

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

1. ระบบจานวนคออะไร

2. จงอธบายระบบจานวนของเลขฐานสอง เลขฐานแปด เลขฐานสบ และเลขฐานสบหก

โดยระบบจานวนของเลขแตละตวประกอบดวยตวเลขอะไรบาง

3. จงแปลงเลขฐาน (59)10 = ( ? )2

4. จงแปลงเลขฐาน (152)10 = ( ? )2

5. จงแปลงเลขฐาน (47)10 = ( ? )8

6. จงแปลงเลขฐาน (165)10 = ( ? )16

7. จงแปลงเลขฐาน (110101)2 = ( ? )10

8. จงแปลงเลขฐาน (1101110.1010)2 = ( ? )10

9. จงแปลงเลขฐาน (75)8 = ( ? )10

10. จงแปลงเลขฐาน (1A9)16 = ( ? )10

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

12. จงแปลงเลขฐานตางๆ ดงตอไปน

ฐานสอง ฐานสบหก ฐานสบ ฐานแปด

168

AB

142

010100101111

http://www.udru.ac.th

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

เอกสารอางอง

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

2537.

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

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