Donate

วันพฤหัสบดีที่ 22 เมษายน พ.ศ. 2553

เลขฐาน และการเปลี่ยนเลขฐาน

เลขฐาน และการเปลี่ยนเลขฐาน

2.1 กล่าวนำ : การใช้งาน ตัวเลขในชีวิตประจำวัน เราจะใช้เลขฐานสิบในการหาค่าของตัวเลข เราสามารถจะหาได้โดยวิธีการกระจายดังตัวอย่าง เช่น

5862 5862    = 5000 + 800 + 60 + 2

หรือ = 5 x 103 + 8 x 102 + 6 x 101 + 2 x 100

= 5862

ตัวคูณแต่ละหลัก (Digit) ที่เป็นเลข 10 ยกกำลัง เราเรียกว่า Weight จากตัวอย่างจะได้ค่า Weight ดังนี้

ค่า Weight = 103 102 101 100

ในระบบเลขฐาน 10 ตัวเลขที่อยู่หลังจุดทศนิยมเรียกว่า เลขทศนิยม จุดทศนิยมนี้เป็นตัวแบ่งส่วนที่เป็นเลขจำนวนเต็ม และ ส่วนที่เป็นเลขจุดทศนิยมออกจากกัน ค่า Weight ของเลขจุดทศนิยม จะเป็นดังนี้

ค่า Weight = 10-1 10-2 10-3 10-4

พิจารณาตัวอย่าง จากจำนวน 5862.512

ค่า Weight = 103 102 101 100 . 10-1 10-2 10-3

ค่าจำนวน = 5 8 6 2 . 5 1 2

คำนวณค่า = (5x103) + (8x102) + (6x101) + (2x100) + 5x10-1) + (1x10-2) + 2x10-3) = 5862.512

จากที่กล่าวมาข้างต้น เป็นการหา เลขฐาน 10 จากการหาผลบวกของค่า Weight คูณด้วยเลขประจำหลัก

2.2 เลขฐานที่ใช้กันกับระบบ คอมพิวเตอร์

2.2.1 เลข ฐานสอง (binary Number System) ประกอบใช้กับวงจรอิเล็ก -ทรอนิกส์ เพราะวงจรมีแค่เพียง 2 สถานะ นอกจากจะแทนด้วย Æ และ 1 แล้ว ยัง สามารถแทนด้วยสิ่งอื่นได้อีก เช่น เปิด กับปิด mark กับ space สูงกับต่ำ เป็น ต้น

ในระบบเลขฐานสิบ แต่ ละหลักจะมีค่า Weight เป็น เลข 10 ยกกำลัง แต่ในเลขฐานสองจะมีค่า Weight เป็น 2 ยกกำลัง ดัง รูป แสดงค่า Weight ของเลข ฐานสอง

210 29 28 27 26 25 24 23 21 20

1024 512 256 128 64 32 16 8 4 2

ตัวอย่าง : เลขฐานสองจำนวน (110110)2 (ในการเขียนเลขฐานต่าง ๆ มักจะเขียนอยู่ในวงเล็บ และมีหมายเลขกำกับอยู่ตอนท้าย เพื่อ ไม่ให้สับสน)

ค่า Weight = 25 24 23 22 21 20

เลขฐานสอง = 1 1 0 1 1 0

คำนวณค่า = (1x25) + (1x24) + (0x23) + 1x22) + (1x21) + (0x20)

= (54)10

สำหรับ เลขฐานสองที่มีจุดทศนิยม ค่า Weight ของเลขจุดทศนิยมในเลขฐานสอง เรียงตามลำดับดังต่อไปนี้

2-1 2-2 2-3 2-4 2-5 2-6

0.5 0.25 0.125 0.0625 0.03129 0.015625

ใน ระบบเลขฐานสิบ แต่ละหลักเราเรียกว่า หลัก (Digit) แต่ในระบบเลขฐานสองเรียกว่า บิต (bit) ในเลขฐานสองบิตที่มีค่า Weight ต่ำสุด หรือ มีค่านัยสำคัญด้อยที่สุดซึ่งอยู่ทางขวามือ เรียกว่า LSB (Least Significant Bit) และบิตที่มีค่า Weight มากที่สุด หรือมีค่านัยสำคัญมากที่สุด ซึ่งอยู่ทางซ้ายมือสุด เรียกว่า MSB (Most Significant Bit) ส่วนในระบบเลขฐาน สอง เรียกว่า LSD (Least Significant Digit) และ MSD (Most Significant Digit)

2.2.2 เลขฐานแปด : ประกอบด้วยเลข 8 ตัว คือ 0, 1, 2, 3, 4, 5, 6, และ 7 เช่น (4 5 6)8, (6 4 3 5)8

2.2.3 เลขฐานสิบหก : ประกอบด้วยเลข 16 ตัว คือ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E และ F เช่น (51F)16 , (A9E1)16


2.3 การแปลงเลขฐานของ ระบบตัวเลข

2.3.1 การแปลง ฐานสองเป็นเลขฐานสิบ :

หลักการ : คือการเอาค่า Weight ของ ทุกบิตที่มีค่าเป็น 1 มาบวกกัน ดังตัวอย่าง

ตัวอย่าง : จงแปลง (11011101)2 ให้เป็นเลขฐานสิบ

(11011101)2 = (1X27) + (1X26) + (0X25) + (1X24) + (1X23)+ (1X22) +

(0X21) + (1X20)

= 128 + 64 + 0 + 16 + 8 + 4 + 0 + 1

= (221)10

ตัวอย่าง : จงเปลี่ยน (1011.101)2 เป็นเลขฐานสิบ

1

0

1

1

.

1

0

1

ผลลัพธ์

2-3

0.125

2-2

0.0

2-1

0.5

-

20

1.

21

2.

22

0.

23

8.

(11.625)10

\ (1011.101)2 = (11.625)10


2.3.2 2.3.2        การเปลี่ยนเลขฐานสิบเป็นเลขฐานสอง

หลักการ

1. 1.      ให้นำเลขฐานสิบเป็นตัวตั้งและนำ 2 มาหาร ได้เศษเท่าไรจะเป็นค่าบิตที่มีนัยสำคัญน้อยที่สุด (LSB)

2. 2.       นำผลลัพธ์ที่ได้จากข้อที่ 1 มาตั้งหารด้วย 2 อีกเศษที่จัดจะเป็นบิตถัดไปของเลขฐานสอง

3. 3.    ทำเหมือนข้อ 2 ไปเรื่อยๆ จนได้ผลลัพธ์เป็นศูนย์ เศษที่ได้จะเป็นบิตเลขฐานสองที่มีนัยสำคัญมากที่สุด (MSB)

ตัวอย่าง : จงเปลี่ยน (221)10 เป็นเลขฐานสอง

image001 2 221 เศษ 1 (LSB)

image001[1] 2 110 เศษ 0

image002 2 55 เศษ 1

image003 2 27 เศษ 1

image004 2 13 เศษ 1

image005 2 6 เศษ 0

image005[1] 2 3 เศษ 1

image005[2] 2 1 เศษ 1

0 เศษ 1 (MSB)

\ (221)10 = (11011101)2

วิธีคิดโดยใช้น้ำหนัก (Weight) ของแต่ละบิต

ตัวอย่าง จงเปลี่ยน (221)10 = (……)2

1. 1.      นำค่าน้ำหนัก (Weight) มาตั้ง โดย Weight ที่มีค่ามากที่สุดต้องไม่เกินจำนวนที่จะเปลี่ยนดังนี้

128 128    64 32 16 8 4 2 1

2. 2.      เลือกค่า Weight ที่มีค่ามากที่สุด และค่า Weight ตัวอื่น ๆ เมื่อนำมารวมกันแล้วให้ได้เท่ากับจำนวนที่ต้องการ

ค่า Weight 128 64 32 16 8 4 2 1

เลือก 128 + 64 + 0 + 16 + 8 + 4 + 0 + 1 = 221

ฐานสอง 1 1 0 1 1 1 0 1

\ (221)10 = (11011101)2

การเปลี่ยนเลขฐานสิบที่มีจุดทศนิยมเป็นเลขฐานสอง

หลัก การ

1. 1.      ให้เปลี่ยนเลขจำนวนเต็มหน้าจุดทศนิยมด้วยวิธี ที่กล่าวมาแล้ว

2. 2.   ให้นำเลขจุดทศนิยมมาตั้งแล้วคูณด้วย 2 ผลคูณมีค่าน้อยกว่า 1 จะได้ค่าเลขฐานสองเป็น 0 แต่ถ้าผลคูณมีค่ามากกว่า 1 หรือเท่ากับ 1 จะได้ค่าเลขฐานสองเป็น 1

3. 3.   ให้นำเลขจุดทศนิยมที่ได้จากผลการคูณใน �/span> มาตั้งและคูณด้วย 2 และพิจารณาผลลัพธ์เช่นเดียวกับข้อ �/span> และกระบวนการนี้จะทำต่อไปเรื่อย ๆ จนกว่าผลคูณจะมีค่าเท่ากับ 1 หรือได้ค่าที่แม่นยำเพียงพอแล้ว

ตัวอย่าง : จงเปลี่ยน (0.375)10 เป็นเลขฐานสอง

ผลการคูณ

ผลของจำนวนเต็ม

0.375 X 2 = 0.75

0.75 X 2 = 1.5

0.5 X 2 = 1.0

0

1

1

ดัง นั้น (0.375)10 = (0.011)2

ตัวอย่าง : จงเปลี่ยน (12.35)10 เป็นฐานสอง

1. 1.      เปลี่ยน (12)10 ให้เป็นเลขฐานสอง

(12)10 = (1100)2

2. เปลี่ยน (0.35)10 เป็นเลขฐานสอง

ผลการคูณ

ผลของจำนวนเต็ม

0.35 X 2 = 0.7

0.7 X 2 = 1.4

0.4 X 2 = 0.8

0.8 X 2 = 1.6

0.6 X 2 = 1.2

0.2 X 2 = 0.4

0

1

0

1

1

0

0.4 X 2 = 0.8

0.8 X 2 = 1.6

0

1

การเปลี่ยนจะซ้ำกันไปเรื่อย ๆ จะนำมาใช้เพียง 6 บิต

ดังนั้น (12.35)10 = (1100.010110)2


2.3.3 2.3.3        การเปลี่ยนเลขฐานแปดเป็นฐานสิบและเลขฐานสิบเป็นฐานแปด

การเปลี่ยนเลขฐานแปดเป็นเลขฐานสิบ

หลัก เกณฑ์ : นำค่าน้ำหนัก (Weight)และเลขฐานแปดคูณด้วยเลข

ประจำหลัก แล้วนำผลที่ได้ทุกหลักมารวมกัน

น้ำหนัก : Weight ได้แก่ … 84 83 82 81 80 8-1 8-2 8-3

ตัวอย่าง : (134)8 = (…)10

(134)8 = (1X82) + (3X81) + (4X80)

= 64 + 24 + 4

= (92) 10

ดัง นั้น (134)8 = (92)10

จุด ทศนิยม

การเปลี่ยนเลขฐานสอบเป็นเลขฐานแปด

หลัก เกณฑ์ : นำเลขฐานสิบเป็นตัวตั้งแล้วหารด้วย 8 เศษที่ได้จากการ

หารจะเป็นค่าของเลขฐานแปด ทำเช่นเดียวกับการเปลี่ยน

เลขฐานสิบเป็นฐานสอง

ตัวอย่าง : (92)10 = (…)8

image006image007 8 92 image008 เศษ 4

image009image010 8 11 image008[1] เศษ 3

image011image012 8 1 เศษ 1

0

1 3 4

ดังนั้น (92)10 = (134)8


2.3.4 2.3.4        การเปลี่ยนเลขฐานแปดเป็นสองและเลขฐานสองเป็นฐานแปด

การเปลี่ยนเลขฐานแปดเป็นเลขฐานสอง

หลักการ : จะต้องใช้เลขฐานสิบเป็นตัวกลางในการเปลี่ยน

2

image013image014

10

8

ตัวอย่าง : (134)8 = (…)2

1. 1.      เปลี่ยนเลขฐานแปดเป็นเลขฐานสิบ

(134)8 = (1X88) + (3X81) + (4X80)

= (92)10

2. 2.      เปลี่ยนเลขฐานสิบเป็นเลขฐานสอง

(92)10 = (…)2

Weight = 64 32 16 8 4 2 1

= 64 + 0 + 16 + 8 + 4 + 0 + 0

เลขฐาน 2 = 1 0 1 1 1 0 0

ดังนั้น (134)8 = (1011100)2

การเปลี่ยนเลขฐานสองเป็นเลขฐานแปด

หลักการ : จะต้องใช้เลขฐานสิบเป็นตัวกลางในการเปลี่ยน

แปด

image015

สิบ

สอง

image014[1]

ตัวอย่าง : (1011100)2 = (…)8

1. 1.      เปลี่ยนเลขฐานสองเป็นเลขฐานสิบ

(1011100)2 = 64 + 0 + 16 + 8 + 4 + 0 + 0

= (92)10

2. 2.      เปลี่ยนฐานสิบเป็นเลขฐานแปด

image005[3]image006[1]image007[1] 8 92 เศษ 4

image005[4]image009[1]image010[1] 8 11 เศษ 3

image005[5]image011[1] 8 1 เศษ 1

0

1 3 4

ดังนั้น (1011100)2 = (134)8

การเปลี่ยนเลขฐานสองเป็นเลขฐานแปดและฐานแปดเป็นเลขฐาน สอง วิธีลัด

เลขฐานแปด

เลขฐานสอง

0

1

2

3

4

5

6

7

000

001

010

011

100

101

110

111

ตารางเปรียบเทียบเลขฐานแปดและเลขฐานสอง

จาก ตารางจะเห็นว่าเลขฐานแปดหนึ่งหลักสามารถแทนด้วยเลขฐานสองจำนวน 3 บิต

ตัวอย่าง : จงแปลงเลขฐานสองเป็นเลขฐานแปด

(1011100) 2 = (…)8

วิธีทำ : 001 011 100

image011[2]image016image016[1]

1 3 4

ดัง นั้น (1011100) 2 = (134)8

ตัวอย่าง เปลี่ยนเลขฐานแปดเป็นเลขฐานสอง

(6143)8 = (…)2

image017image017[1]image017[2]image017[3] วิธีทำ 6 1 4 3

110 001 100 011

ดัง นั้น (6143)8 = (110001100011)2


2.3.5 การเปลี่ยนเลขฐานสิบหกเป็นฐานสิบและเลขฐานสิบเป็นฐานสิบหก

การเปลี่ยนเลขฐานสิบหกเป็นเลขฐานสิบ

หลักการ : นำค่าน้ำหนัก (Weight) ของเลขฐานสิบหกคูณด้วยเลขประจำ

หลัก และนำผลที่ได้ทุกหลักมารวมกัน

น้ำหนัก (Weight) : … 164 163 162 161 160 16-1 16-2 16-3

ตัวอย่าง (6C)16 = (…)10

(6C)16 = (5X161) + (12X160)

= 80 + 12

= (92)10

ดังนั้น (6C)16 = (92)10

ตัวอย่าง (0.3)16 = (…)10

(0.3)16 (0.3)16 = 3X10-1

= 3X0.0625

= (0.1875)10

ดังนั้น (0.3)16 = (0.1878)10

การเปลี่ยนเลขฐานสิบเป็นเลขฐานสิบหก

หลักการ : นำเลขฐานสิบมาเป็นตัวตั้งแล้วนำ 16 มาหาร เศษที่ได้จากการหาร จะเป็นค่า

เลขฐานสิบหก ทำเช่นเดียวกับการเปลี่ยนเลขฐานสิบเป็นเลขฐานสอง

ตัวอย่าง : (92)10 = (…)16

image018image007[2]image019 วิธีทำ : 16 92 เศษ 12 =C

image020image010[2]image019[1] 16 5 เศษ 5

5 C

ดัง นั้น (92)10 = (5C)16

ตัวอย่าง (0.7875)10 = (….)16

วิธีทำ

ผลการคูณ

ผลของจำนวนเต็ม

0.7875 X 16 = 12.6

0.6 X 16 = 9.6

12 = C

9

0.6 X 16 = 9.6

0.6 X 16 = 9.6

9

9

ดังนั้น (0.7875)10 = (0.C9)16


2.3.6 การเปลี่ยนเลขฐานสองเป็นฐานสิบหก และฐานสิบหกเป็นฐานสอง

การเปลี่ยนเลขฐานแปดเป็นเลขฐานสอง

หลัก การ : จะต้องใช้เลขฐานสิบ เป็นตัวกลาง

image021

สิบ

สิบหก

image014[2]

ตัวอย่าง : (5C)16 = (…)2

1. เปลี่ยนเลขฐานสิบหกเป็นเลขฐานสิบ

(5C)16 = (5X161) + (12X160)

= 80 + 12

= (92)10

2. เปลี่ยนเลขฐานสิบเป็นเลขฐานสอง

(92)10 = (…)2

Weight = 64 32 16 8 4 2 1

64 + 0 + 16 + 8 + 4 + 0 + 0

เลขฐานสอง = 1 0 1 1 1 0 0

ดังนั้น (5C)16 = (1011100)2

การเปลี่ยนเลขฐานสองเป็นเลขฐานสิบหก

หลักการ : ต้องใช้เลขฐานสิบเป็นตัวกลาง

ตัวอย่าง : (1011100)2 = (…)16

1. เปลี่ยน (1011100)2เป็น เลขฐานสิบ

(1011100)2 = (92)10

2. เปลี่ยนเลขฐานสิบเป็นเลขฐานสิบหก

image022image004[1]16 92 เศษ 12 =C

image023image024image005[6]16 5 เศษ 5

0

5 C

ดังนั้น (1011100)2 = (5C)16

การเปลี่ยนเลขฐานสิบหกเป็นฐานสองและเลข ฐานสองเป็นฐานสิบหกวิธีลัด

เลขฐานแปด

เลขฐานสอง

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

ตารางเปรียบเทียบเลขฐาน สิบหกกับเลขฐานสอง

จากตารางจะเห็นว่า เลขฐานสิบหกหนึ่งหลักสามารถจะแทนด้วยเลขฐานสองจำนวน 4 บิต

ตัวอย่าง จงเปลี่ยน (1011100)2 เป็นเลขฐานสิบหก

image025image026วิธีทำ 0101 1100

image025[1]image027 5 12

5 C

ดัง นั้น (1011100)2 = (5C)16

ตัวอย่าง จง เปลี่ยน (1011110111011)2 เป็นเลขฐานสิบหก

image027[1]image027[2]image027[3]image027[4]วิธีทำ 0001 0111 1011 1011

image026[1]image028image026[2]image026[3] 1 7 11 11

1 7 B B

ดังนั้น (1011110111011)2 = (17BB)16

ตัวอย่าง จงเปลี่ยน (A95)16 เป็นเลขฐานสอง

image029image029[1]image029[2]วิธีทำ A 9 5

1010 1001 0101

ดัง นั้น (A95)16 = (101010010101)2


2.3.7 การเปลี่ยนเลขฐานแปดเป็นฐานสิบหก และฐานสิบหกเป็นฐานแปด

แบบฝึกหัด

2.1 จงแปลงเลขฐาน สิบต่อไปนี้ เป็นเลขฐานสี่ (base-4) และเลขฐานห้า (base-5)

a. 10 b. 21

c. 50 d. 67

e. 100

2.2 จงแปลงเลขฐาน ต่อไปนี้ เป็นเลขฐานสิบ

a. (24)5 b. (3F7)16

c. (148)8 d. (ABC)15

2.3 จงแปลงเลขฐานสอง ต่อไปนี้ เป็นเลขฐานสิบและให้มีทศนิยมเพียง 4 ตำแหน่ง

a. (0.1111)2 b. (0.11010011)2

c. (001110.111111111)2

2.4 จงแปลงเลขฐานสิบ ต่อไปนี้ เป็นเลขฐานสองและให้มีทศนิยมเพียง 4 ตำแหน่ง

a. (0.1111)10 b. (947.613)10

c. (4287.6543)10

2.5 จงแปลงเลขฐานสิบ หกต่อไปนี้ เป็นเลขฐานแปด

a. (ABCE)16 b. (97F)16

c. (A0)16

2.6 จงแปลงเลขฐาน แปดต่อไปนี้ เป็นเลขฐานสิบหก

a. (375)8 b. (054)8

c. (3517)8

...