เลขฐาน และการเปลี่ยนเลขฐาน
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 เป็นเลขฐานสอง
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
0
1 3 4
ดังนั้น (92)10 = (134)8
2.3.4 2.3.4 การเปลี่ยนเลขฐานแปดเป็นสองและเลขฐานสองเป็นฐานแปด
การเปลี่ยนเลขฐานแปดเป็นเลขฐานสอง
หลักการ : จะต้องใช้เลขฐานสิบเป็นตัวกลางในการเปลี่ยน
2
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
การเปลี่ยนเลขฐานสองเป็นเลขฐานแปด
หลักการ : จะต้องใช้เลขฐานสิบเป็นตัวกลางในการเปลี่ยน
แปด
สิบ
สอง
ตัวอย่าง : (1011100)2 = (…)8
1. 1. เปลี่ยนเลขฐานสองเป็นเลขฐานสิบ
(1011100)2 = 64 + 0 + 16 + 8 + 4 + 0 + 0
= (92)10
2. 2. เปลี่ยนฐานสิบเป็นเลขฐานแปด
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
1 3 4
ดัง นั้น (1011100) 2 = (134)8
ตัวอย่าง เปลี่ยนเลขฐานแปดเป็นเลขฐานสอง
(6143)8 = (…)2
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
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 การเปลี่ยนเลขฐานสองเป็นฐานสิบหก และฐานสิบหกเป็นฐานสอง
การเปลี่ยนเลขฐานแปดเป็นเลขฐานสอง
หลัก การ : จะต้องใช้เลขฐานสิบ เป็นตัวกลาง
สิบ
สิบหก
ตัวอย่าง : (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. เปลี่ยนเลขฐานสิบเป็นเลขฐานสิบหก
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 เป็นเลขฐานสิบหก
5 C
ดัง นั้น (1011100)2 = (5C)16
ตัวอย่าง จง เปลี่ยน (1011110111011)2 เป็นเลขฐานสิบหก
1 7 B B
ดังนั้น (1011110111011)2 = (17BB)16
ตัวอย่าง จงเปลี่ยน (A95)16 เป็นเลขฐานสอง
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