วันจันทร์ที่ 9 ตุลาคม พ.ศ. 2560


 ระบบตัวเลขและการแปลงเลขฐาน
ปัจจุบันนี้ ระบบตัวเลขที่ทุกคนรู้จักกันดี ก็คือระบบเลข 10 ตัวอันได้แก่ เลข 0 ,1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 และ 9 เลขเหล่านี้ใช้เป็นสื่อในการแทนจำนวนของคน สัตว์ วัตถุ และสิ่งของต่างๆ เรียกตัวเลขทั้ง 10 ตัว นี้ว่า เลขฐานสิบ (Decimal Number) เพราะว่าสามารถนำไปเป็นสัญลักษณ์ที่ใช้แทนค่าต่าง ๆ ที่ไม่ซ้ำกัน สำหรับเลขที่มีค่ามากกว่า 9 นั้นจะไม่มี นอกเสียจากว่าจะนำตัวเลขดังกล่าวมาเรียงประกอบกันขึ้นใหม่ดังตัวอย่างดังนี้
254 = (2×102)+(5×101)+(4×100)
เมื่อ 100 = 1
101 = 10
102 = 100
จากตัวอย่างข้างต้นถ้าสังเกตและพิจารณาดี ๆ หลักเกณฑ์ของการเขียนเลขจำนวนใด ๆ (N) เหล่านี้สามารถเขียนได้โดยใช้สูตรต่อไปนี้
N = dnRn + … + d3R3 + d2R2 + d1R1 + d0R0
ตัวอย่างที่ 1.1 การกระจาย
2511 = (2×103)+(5×102)+(1×101)+(1×100)
วิธีทำ N = d3R3 + d2R2 + d1R1 + d0R0
เมื่อ R = 10, d3 = 2, d2 = 5, d1 = 1, d0 = 1
และ 103 = 1000, 102 = 100, 101 = 10, 100 = 1
ความก้าวหน้าทางเทคโนโลยีสมัยใหม่ถูกพัฒนาขึ้นอย่างรวดเร็ว เครื่องคอมพิวเตอร์ได้ถูกพัฒนาขึ้นมาเพื่อนำไปใช้เป็นเครื่องมือช่วยปฏิบัติงานของมนุษย์ หลักการทำงานของเครื่องคอมพิวเตอร์มีลักษณะเป็นการเปรียบเทียบ ซึ่งเปรียบได้กับการปิดหรือเปิดสวิตช์เป็นแบบ 2 จังหวะตลอดเวลา ด้วยเหตุนี้จึงได้นำหลักการของระบบตัวเลขมาใช้ในการสร้างคอมพิวเตอร์ ระบบตัวเลขที่เครื่องคอมพิวเตอร์รับรู้และเข้าใจได้ดีคือ ระบบฐานสอง (Binary Number) ซึ่งประกอบด้วยตัวเลข 2 ตัว คือ 0 กับ 1 ซึ่งจะสัมพันธ์กับค่าเปิดและปิดสวิตช์ภายในเครื่องคอมพิวเตอร์ นอกจากเลขฐานสองที่มีบทบาทต่อการผลิตเครื่องคอมพิวเตอร์แล้ว ยังมีระบบเลขฐานแปด และระบบเลขฐานสิบหกเพราะว่า2 สะดวกและรวดเร็วในการนำไปใช้ตรวจสอบการทำงานของเครื่องคอมพิวเตอร์ในแต่ละขั้นตอนเป็นอันมาก ดังนั้นบทบาทของระบบตัวเลขที่นิยมใช้กับเครื่องคอมพิวเตอร์จึงมีอยู่ 3 ระบบคือ ระบบเลขฐานสอง ระบบเลขฐานแปด และระบบเลขฐานสิบหก เท่านั้น ส่วนเลขฐานอื่นไม่นิยมนำมาใช้
ส่วนประกอบของเลขฐานต่าง ๆ
ระบบตัวเลขที่นิยมใช้กับเครื่องคอมพิวเตอร์มีอยู่ 3 ระบบคือ ระบบเลขฐานสอง ระบบเลขฐานแปด และระบบเลขฐานสิบหก ซึ่งระบบเลขแต่ละฐานจะมีองค์ประกอบของตัวเลขไม่เท่ากันดังรายละเอียดต่อไปนี้
1. เลขฐานสอง ประกอบด้วยเลข 2 ตัวคือ 0 และ 1 เท่านั้นแต่ถ้านำตัวเลขทั้งสองจำนวนมาเรียงประกอบกันใหม่หลาย ๆ หลักซึ่งนิยมเรียกกันในทางคอมพิวเตอร์ว่า จำนวนบิต ดังต่อไปนี้
01 มี 2 บิต ฐานสิบ ค่าเท่ากับ= 1
011 มี 3 บิต ฐานสิบ ค่าเท่ากับ= 3
1101 มี 4 บิต ฐานสิบค่าเท่ากับ = 13
01001 มี 5 บิต ฐานสิบค่าเท่ากับ= 9
101001 มี 6 บิต ฐานสิบค่าเท่ากับ= 41
2. เลขฐานแปด ประกอบด้วยเลข 8 ตัวคือ 0 , 1 , 2 , 3 , 4 , 5 , 6 และ 7 เท่านั้น แต่สามารถนำมาเรียงกันใหม่ได้โดยเขียนให้อยู่ในวงเล็บและมีตัวเลขประจำฐานห้อยไว้ด้านท้ายเพื่อ ป้องกันการสับสนหรือเข้าใจผิดกับเลขฐานอื่น ๆ ดังตัวอย่างต่อไปนี้
( 1 ) 8 มีค่าเท่ากับ ( 1 ) 10
( 2 ) 8 มีค่าเท่ากับ ( 2 ) 10
( 3 ) 8 มีค่าเท่ากับ ( 3 ) 10
( 4 ) 8 มีค่าเท่ากับ ( 4 ) 10
( 5 ) 8 มีค่าเท่ากับ ( 5 ) 10
( 6 ) 8 มีค่าเท่ากับ ( 6 ) 10
( 7 ) 8 มีค่าเท่ากับ ( 7 ) 10
( 10 ) 8 มีค่าเท่ากับ ( 8 ) 10
( 11 ) 8 มีค่าเท่ากับ ( 9 ) 10 3
3. เลขฐานสิบหก ประกอบด้วยเลข 16 ตัวคือ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E และ F เท่านั้น จะมีค่าไม่เกิน F อาจมีคำถามว่าทำไมเลขที่มากกว่า 9 จึงเป็นตัวอักษร A F ทั้งนี้ก็เพราะว่าถ้าใช้เป็นเลขที่มากกว่า 9 ไปเป็น 10 แล้วจะทำให้ตัวเลขไปซ้ำกันอีก ดังนั้นเพื่อความเข้าใจ A ในที่นี้ก็คือ 10 ตัว B มีค่าเท่ากับ 11 ตัว C มีค่าเท่ากับ 12 ตัว D มีค่าเท่ากับ 13 ตัว E มีค่าเท่ากับ 14 และตัว F มีค่าเท่ากับ 15 สามารถนำเลขเหล่านี้มาเรียงกันใหม่ทำให้มีค่ามากยิ่งขึ้น โดยมีหลักการเขียนโดยให้จำนวนเลขอยู่ในวงเล็บและมีตัวเลขประจำฐานห้อยไว้ด้านท้ายเพื่อ ป้องกันการสับสนหรือเข้าใจผิดกับเลขฐานอื่น ๆ ดังตัวอย่างต่อไปนี้
(275)16 มีค่าเท่ากับ (629)10
(4059)16 มีค่าเท่ากับ (16473)10
(A07C8)16 มีค่าเท่ากับ (655360)10
(D107CF)16 มีค่าเท่ากับ (919503)10
(B0E7C10)16 มีค่าเท่ากับ (12418064)10
การแปลงเลขฐานของระบบตัวเลข
การทำงานของระบบคอมพิวเตอร์ ไม่ว่าจะเป็นการรับข้อมูล ประมวลผลข้อมูล หรือการแสดงข้อมูล จะมีระบบเลขฐานสอง ระบบเลขฐานแปด ระบบเลขฐานสิบ และระบบเลขฐานสิบหกเข้ามาเกี่ยวข้องเสมอ ในการทำงานแต่ละขั้นตอนหากใช้เลขฐานต่าง ๆ ร่วมกันย่อมมีความสับสนเกิดขึ้น ดังนั้นขึงจำเป็นต้องแปลงเลขฐานให้เหมือนกันหรือให้อยู่ในฐานเดียวกันเสียก่อน ดังนั้นจำเป็นต้องเรียนรู้ในเรื่องต่อไปนี้คือ การแปลงเลขฐานสอง เลขฐานแปด เลขฐานสิบหก ให้เป็นเลขฐานสิบ การแปลงเลขฐานสิบ ให้เป็นเลขฐานสอง เลขฐานแปด เลขฐานสิบหก การแปลงเลขฐานสอง ให้เป็น เลขฐานแปด เลขฐานสิบหก และการแปลงเลขฐานแปด เลขฐานสิบหก ให้เป็น เลขฐานสอง
1. การแปลงเลขฐานสองเป็นเลขฐานสิบ
การแปลงเลขฐานสองไปเป็นเลขฐานสิบมีหลักเกณฑ์ดังต่อไปนี้
N = dnRn + … + d3R3 + d2R2 + d1R1 + d0R0
หรือ N = … + 8d3 + 4d2 + 2d1 + 1d0 4
ตารางที่ 1.1 แสดงความสัมพันธ์ระหว่างเลขฐานสิบกับเลขฐานสอง เลขฐานสิบ
เลขฐานสอง
0
0000 = (0×23 + 0×22 + 0×21 + 0×20)
1
0001 = (0×23 + 0×22 + 0×21 + 1×20)
2
0010 = (0×23 + 0×22 + 1×21 + 0×20)
3
0011 = (0×23 + 0×22 + 1×21 + 1×20)
4
0100 = (0×23 + 1×22 + 0×21 + 0×20)
5
0101 = (0×23 + 1×22 + 0×21 + 1×20)
6
0110 = (0×23 + 1×22 + 1×21 + 0×20)
7
0111 = (0×23 + 1×22 + 1×21 + 1×20)
8
1000 = (1×23 + 0×22 + 0×21 + 0×20)
9
1001 = (1×23 + 0×22 + 0×21 + 1×20)
10
1010 = (1×23 + 0×22 + 1×21 + 0×20)
11
1011 = (1×23 + 0×22 + 1×21 + 1×20)

ตัวอย่างที่ 1.2 การแปลง (1101)2 ให้เป็นเลขฐานสิบ

วิธีทำ
N = (1×23 + 1×22 + 0×21 + 1×20)
    = 8 + 4 + 0 + 1
    = 13

(1101)2 = (13)10

ตอบ (13)105

ตัวอย่างที่ 1.3 การแปลง (11011)2 ให้เป็นเลขฐานสิบ

วิธีทำ
N = (1×24 + 1×23 + 0×22 + 1×21 + 1×20)
              = 16 + 8 + 0 + 2 + 1
     = 27

(11011)2 = (27)10

ตอบ (27)10
2. การแปลงเลขฐานสองที่เป็นทศนิยมให้เป็นเลขฐานสิบ
การแปลงเลขฐานสองที่เป็นทศนิยมให้เป็นเลขฐานสิบมีหลักเกณฑ์ดังต่อไปนี้
-nn--22--11-00112233nnRd+...+Rd+Rd+Rd+Rd+Rd+Rd+...+Rd=N
หรือ ...+d+d+d+d1+d2+d4+d8+....=N3210123814121

ตัวอย่างที่ 1.4 การแปลง (1011.101)2 ให้เป็นเลขฐานสิบ

วิธีทำ N = (1×23 + 0×22 + 1×21 + 1×20 + (1×0.5) + (0×0.25) + (1×0.125))
  = 8 + 0 + 2 + 1 + 0.5 + 0.125
  = 11.625

(1011.101)2 = (11.625)10

ตอบ (11.625)10

ตัวอย่างที่ 1.5 การแปลง (10011.1101)2 ให้เป็นเลขฐานสิบ

วิธีทำ
N = (1×24 + 0×23 + 0×22 + 1×21 + 1×20 + (1×0.5) + (1×0.25) + (0×0.125 )+
(1×0.0625))
= 16 + 0 + 0 + 2 + 1 + 0.5 + 0.25 + 0.0625
= 19.8125 6
(10011.1101)2 = (19.8125)10

ตอบ (19.8125)10

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

ตัวอย่างที่ 1.6 การแปลง (27)10 ให้เป็นเลขฐานสอง

วิธีทำ (27)10 = (……………..)2
หารครั้งที่ 1 27 ÷ 2 = 13 เศษ 1
หารครั้งที่ 2 13 ÷ 2 = 6 เศษ 1
หารครั้งที่ 3 6 ÷ 2 = 3 เศษ 0
หารครั้งที่ 4 3 ÷ 2 = 1 เศษ 1
หารครั้งที่ 5 1 ÷ 2 = 0 เศษ 1

(27)10 = (11011)2

ตอบ (11011)2

ตัวอย่างที่ 1.7 การแปลง (57)10 ให้เป็นเลขฐานสอง

วิธีทำ (57)10 = (……………..)2
หารครั้งที่ 1 57 ÷ 2 = 28 เศษ 1
หารครั้งที่ 2 28 ÷ 2 = 14 เศษ 0
หารครั้งที่ 3 14 ÷ 2 = 7 เศษ 0
หารครั้งที่ 4 7 ÷ 2 = 3 เศษ 1 7
หารครั้งที่ 5 3 ÷ 2 = 1 เศษ 1
หารครั้งที่ 6 1 ÷ 2 = 0 เศษ 1

(57)10 = (111001)2

ตอบ (111001)2
4. การแปลงเลขฐานสิบที่เป็นทศนิยมให้เป็นเลขฐานสอง
การแปลงเลขฐานสิบที่เป็นทศนิยมไปเป็นเลขฐานสอง มีหลักเกณฑ์ดังต่อไปนี้
1) นำตัวเลขเฉพาะจุดทศนิยมเท่านั้นมาตั้ง แล้วคูณด้วย 2 ผลลัพธ์ที่อยู่หน้าจุดทศนิยมคือผลลัพธ์ของเลขฐานสอง
2) นำผลลัพธ์ของการคูณที่อยู่หลังจุดทศนิยมตั้ง แล้วคูณด้วย 2 ทำเช่นนี้ไปเรื่อย ๆ จนกระทั้งตัวเลขหลังจุดทศนิยมเป็นศูนย์ หรือมีทศนิยมเท่ากับจำนวนที่โจทย์กำหนด
3) เลขหน้าจุดทศนิยมของการคูณครั้งแรกจะเป็นผลลัพธ์ของเลขฐานสองบิตแรก และเลขหน้าจุดทศนิยมของการคูณครั้งสุดท้ายจะเป็นผลลัพธ์ของเลขฐานสองบิตสุดท้าย

ตัวอย่างที่ 1.8 การแปลง (0.125)10 ให้เป็นเลขฐานสอง

วิธีทำ (0.125)10 = (……………..)2
คูณครั้งที่ 1 0.125 × 2 = 0.250
คูณครั้งที่ 2 0.250 × 2 = 0.500
คูณครั้งที่ 3 0.500 × 2 = 1.000
(0.125)10 = (0.001)2

ตอบ (0.001)2 8

ตัวอย่างที่ 1.9 การแปลง (0.875)10 ให้เป็นเลขฐานสอง

วิธีทำ (0.875)10 = (……………..)2
คูณครั้งที่ 1 0.875 × 2 = 1.750
คูณครั้งที่ 2 0.750 × 2 = 1.500
คูณครั้งที่ 3 0.500 × 2 = 1.000
(0.875)10 = (0.111)2

ตอบ (0.111)2

ตัวอย่างที่ 1.10 การแปลง (254.845)10 ให้เป็นเลขฐานสอง

วิธีทำ (254.845)10 = (……………..)2
หารครั้งที่ 1 254 ÷ 2 = 127 เศษ 0
หารครั้งที่ 2 127 ÷ 2 = 63 เศษ 1
หารครั้งที่ 3 63 ÷ 2 = 31 เศษ 1
หารครั้งที่ 4 31 ÷ 2 = 15 เศษ 1
หารครั้งที่ 5 15 ÷ 2 = 7 เศษ 1
หารครั้งที่ 6 7 ÷ 2 = 3 เศษ 1
หารครั้งที่ 7 3 ÷ 2 = 1 เศษ 1
หารครั้งที่ 6 1 ÷ 2 = 0 เศษ 1
(254)10 = (11111110)2
(0.845)10 = (……………..)2
คูณครั้งที่ 1 0.845 × 2 = 1.690
คูณครั้งที่ 2 0.690 × 2 = 1.380
คูณครั้งที่ 3 0.380 × 2 = 0.760
คูณครั้งที่ 4 0.760 × 2 = 1.520
คูณครั้งที่ 5 0.520 × 2 = 1.040 9
                   คูณครั้งที่ 6 0.040 × 2 = 0.080
(0.845)10 = (0.110110)2

(254.845)10 = (11111110.110110)2

ตอบ (11111110.110110)2
5. การแปลงเลขฐานแปดให้เป็นเลขฐานสิบ
การแปลงเลขฐานแปดให้เป็นเลขฐานสิบ มีลักษณะคล้ายกับการแปลงเลขฐานสองให้เป็นเลขฐานสิบ แต่แตกต่างกันตรงที่ว่าฐานเป็นเลขแปด ดังตัวอย่างต่อไปนี้

ตัวอย่างที่ 1.11 การแปลง (5736)8 ให้เป็นเลขฐานสิบ

วิธีทำ N = (5 × 83 + 7 × 82 + 3 × 81 + 6 × 80)
= ( 5 × 512) + (7 × 64) + (3 × 8) + (6 × 1)
= (2560 + 448 + 24 + 6)

= (3038)10

(5736)8 = (3038)10

ตอบ (3080)10

ตัวอย่างที่ 1.12 การแปลง (7046)8 ให้เป็นเลขฐานสิบ

วิธีทำ N = (7 × 83 + 0 × 82 + 4 × 81 + 6 × 80)
= (7 × 512) + (0 × 64) + (4 × 8) + (6 × 1)
= (3584 + 0 + 32 + 6)

= (3622)10

(7046)8 = (3622)10

ตอบ (3625)10 10

6. การแปลงเลขฐานแปดที่เป็นทศนิยมให้เป็นเลขฐานสิบ

การแปลงเลขฐานแปดที่เป็นทศนิยมให้เป็นเลขฐานสิบ สามารถทำได้ในทำนองเดียวกันกับการแปลงเลขฐานสองที่เป็นทศนิยมให้เป็นเลขฐานสิบต่างกันตรงที่ฐานเป็นเลขแปดดังตัวอย่างต่อไปนี้

ตัวอย่างที่ 1.13 การแปลง (745.36)8 ให้เป็นเลขฐานสิบ

วิธีทำ N = (7 × 82 + 4 × 81 + 5 × 80 + (3 × 8-1) + (6 × 8-2) )
= ( 7 × 64) + (4 × 8) + (5 ×1) + (3 × 0.125) + (6 × 0.015625)
= (448 + 32 + 5 + 0.375 + 0.09375)
(745.36)8 = (485.46875)10
ตอบ (485.46875)10

ตัวอย่างที่ 1.14 การแปลง (5074.703)8 ให้เป็นเลขฐานสิบ

วิธีทำ N = (5 × 83 + 0 × 82 + 7 × 81 + 4 × 80 + 7 × 8-1 + 0 × 8-2 + 3 × 8-3)
= (5 × 512) + ( 0 × 64) + (7 × 8) + (4 ×1) + (7 × 0.125) + (0 × 0.015625) + (3 × 0.001953)
= (2560 + 0 + 56 + 4 + 0.875+ 0.005859)

(5074)8 = (2620.880859)10

ตอบ (2620.880859)10
7. การแปลงเลขฐานสิบให้เป็นเลขฐานแปด
การแปลงเลขฐานสิบให้เป็นเลขฐานแปด มีลักษณะคล้ายกับการแปลงเลขฐานสิบให้เป็นเลขฐานสอง แต่แตกต่างกันตรงที่ต้องนำเอาแปดไปหาร ดังตัวอย่างต่อไปนี้

ตัวอย่างที่ 1.15 การแปลง (520)10 ให้เป็นเลขฐานแปด

วิธีทำ (520)10 = (……………..)8
หารครั้งที่ 1 520 ÷ 8 = 65 เศษ 0
หารครั้งที่ 2 65 ÷ 8 = 8 เศษ 1 11
หารครั้งที่ 3 8 ÷ 8 = 1 เศษ 0
หารครั้งที่ 4 1 ÷ 8 = 0 เศษ 1

(520)10 = (1010)8

ตอบ (1010)8

ตัวอย่างที่ 1.16 การแปลง (927)10 ให้เป็นเลขฐานแปด

วิธีทำ (927)10 = (……………..)8
หารครั้งที่ 1 927 ÷ 8 = 115 เศษ 7
หารครั้งที่ 2 115 ÷ 8 = 14 เศษ 3
หารครั้งที่ 3 14 ÷ 8 = 1 เศษ 6
หารครั้งที่ 4 1 ÷ 8 = 0 เศษ 1
(927)10 = (1637)8
ตอบ (1637)8

ตัวอย่างที่ 1.17 การแปลง (2589)10 ให้เป็นเลขฐานแปด

วิธีทำ (2589)10 = (……………..)8
หารครั้งที่ 1 2589 ÷ 8 = 323 เศษ 5
หารครั้งที่ 2 323 ÷ 8 = 40 เศษ 3
หารครั้งที่ 3 40 ÷ 8 = 5 เศษ 0
หารครั้งที่ 4 5 ÷ 8 = 0 เศษ 5

(2589)10 = (5035)8

ตอบ (5035)8
8. การแปลงเลขฐานสิบที่เป็นทศนิยมให้เป็นเลขฐานแปด
การแปลงเลขฐานสิบที่เป็นจำนวนทศนิยมให้เป็นเลขฐานแปด มีลักษณะคล้ายกับการแปลงเลขฐานสิบที่เป็นจำนวนทศนิยมให้เป็นเลขฐานสอง แตกต่างกันตรงที่ว่านำเอาแปดไปคูณ ดังตัวอย่างต่อไปนี้ 12
ตัวอย่างที่ 1.18 การแปลง (0.825)10 ให้เป็นเลขฐานแปด
วิธีทำ (0.825)10 = (……………..)8
คูณครั้งที่ 1 0.825 × 8 = 6.600
คูณครั้งที่ 2 0.600 × 8 = 4.800
คูณครั้งที่ 3 0.800 × 8 = 6.400
คูณครั้งที่ 4 0.400 × 8 = 3.200
คูณครั้งที่ 5 0.200 × 8 = 1.600

(0.825)10 = (0.64631)8

ตอบ (0.64631)8

ตัวอย่างที่ 1.19 การแปลง (0.2875)10 ให้เป็นเลขฐานแปด

วิธีทำ (0.2875)10 = (……………..)8
คูณครั้งที่ 1 0.2875 × 8 = 2.300
คูณครั้งที่ 2 0.300 × 8 = 2.400
คูณครั้งที่ 3 0.400 × 8 = 3.200
คูณครั้งที่ 4 0.200 × 8 = 1.600
คูณครั้งที่ 5 0.600 × 8 = 4.800

(0.2875)10 = (0.22314)8

ตอบ (0.22314)8

ตัวอย่างที่ 1.20 การแปลง (589.257)10 ให้เป็นเลขฐานแปด

วิธีทำ (589.257)10 = (……………..)8
หารครั้งที่ 1 589 ÷ 8 = 73 เศษ 5
หารครั้งที่ 2 73 ÷ 8 = 9 เศษ 1
หารครั้งที่ 3 9 ÷ 8 = 1 เศษ 1
หารครั้งที่ 4 1 ÷ 8 = 0 เศษ 1
(589)10 = (1115)813
(0.257)10 = (………..)8
คูณครั้งที่ 1 0.257 × 8 = 2.056
คูณครั้งที่ 2 0.056 × 8 = 0.488
คูณครั้งที่ 3 0.488 × 8 = 3.584
คูณครั้งที่ 3 0.584 × 8 = 4.672

(0.257)10 = (0.2034)8

(589.257)10 = (1115.2034)8

ตอบ (1115.2034)8
9. การแปลงเลขฐานสิบหกให้เป็นเลขฐานสิบ
การแปลงเลขฐานสิบหกให้เป็นเลขฐานสิบ มีลักษณะคล้ายกับการแปลงเลขฐานสอง และเลขฐานแปดให้เป็นเลขฐานสิบ แต่แตกต่างกันตรงที่ว่าฐานเป็นเลขสิบหก ดังตัวอย่างต่อไปนี้

ตัวอย่างที่ 1.21 การแปลง (1A3D)16 ให้เป็นเลขฐานสิบ

วิธีทำ N = (1 × 163 + A × 162 + 3 × 161 + D × 160)
= (1 × 4096) + (10 × 256) + (3 ×16) + (13 ×1)
= (4096 + 2560 + 48 + 13)

= (6717)10

(1A3D)16 = (6717)10

ตอบ (6717)10

ตัวอย่างที่ 1.22 การแปลง (B07F)16 ให้เป็นเลขฐานสิบ

วิธีทำ N = (B × 163 + 0 × 162 + 7 × 161 + F × 160)
= (11 × 4096) + (0 × 256) + (7 ×16) + (15 ×1)
= (45056 + 0 + 112 + 15)
= (45183)10

(B07F)16 = (45183)10

ตอบ (45183)10
10. การแปลงเลขฐานสิบหกที่เป็นทศนิยมให้เป็นเลขฐานสิบ
การแปลงเลขฐานสิบหกที่เป็นทศนิยมให้เป็นเลขฐานสิบ สามารถทำได้ในทำนองเดียวกันกับการแปลงเลขฐานสอง และเลขฐานแปดที่เป็นทศนิยมให้เป็นเลขฐานสิบต่างกันตรงที่ฐานเป็นเลขสิบหกดังตัวอย่างต่อไปนี้

ตัวอย่างที่ 1.23 การแปลง (7C9.F6)16 ให้เป็นเลขฐานสิบ

วิธีทำ N = (7 × 162 + C × 161 + 9 × 160 + (F × 16-1) + (6 × 16-2))
= (7 × 256) + (12 ×16) + (9 ×1) + (15 ×0.0625) + (6 ×0.003906)
= (1792 + 192 + 9 + 0.9375 + 0.023438
(7C9)16 = (1993.960938)10
ตอบ (1993.960938)10

ตัวอย่างที่ 1.24 การแปลง (20E4.B02)16 ให้เป็นเลขฐานสิบ

วิธีทำ N = (2 × 163 + 0 × 162 + E × 161 + 4 × 160 + B × 16-1 + 0 × 16-2 + 2 × 160)
= (2 × 4096) + (0 × 256) + (14 ×16) + (4 ×1) + (11 ×0.0625) + (0 ×0.003906)
+ (2 ×0.000244)
= (8192 + 0 + 224 + 4 + 0.6875 + 0 + 0.000488)

(20E4)16 = (8420.687988)10

ตอบ (8420.687988)10
11. การแปลงเลขฐานสิบให้เป็นเลขฐานสิบหก
การแปลงเลขฐานสิบให้เป็นเลขฐานสิบหก มีลักษณะคล้ายกับการแปลงเลขฐานสิบให้เป็นเลขฐานสอง หรือฐานแปดแต่แตกต่างกันตรงที่ว่านำเอาสิบหกไปหาร ดังตัวอย่างต่อไปนี้ 15 ตัวอย่างที่ 1.25 การแปลง (2520)10 ให้เป็นเลขฐานสิบหก
วิธีทำ (2520)10 = (……………..)16
หารครั้งที่ 1 2520 ÷ 16 = 157 เศษ 8
หารครั้งที่ 2 157 ÷ 16 = 9 เศษ 13 หรือ D
หารครั้งที่ 3 9 ÷ 16 = 0 เศษ 9

(2520)10 = (9D8)16

ตอบ (9D8)16

ตัวอย่างที่ 1.26 การแปลง (927)10 ให้เป็นเลขฐานสิบหก

วิธีทำ (927)10 = (……………..)16
หารครั้งที่ 1 927 ÷ 16 = 57 เศษ 15 หรือ F
หารครั้งที่ 2 57 ÷ 16 = 3 เศษ 9
หารครั้งที่ 3 3 ÷ 16 = 0 เศษ 3
(927)10 = (39F)16

ตอบ (39F)16

ตัวอย่างที่ 1.27 การแปลง (2589)10 ให้เป็นเลขฐานสิบหก

วิธีทำ (2589)10 = (……………..)16
หารครั้งที่ 1 2589 ÷ 16 = 161 เศษ 13 หรือ D
หารครั้งที่ 2 161 ÷ 16 = 10 เศษ 1
หารครั้งที่ 3 10 ÷ 16 = 0 เศษ 10 หรือ A

(2589)10 = (A1D)16

ตอบ (A1D)16
12. การแปลงเลขฐานสิบที่เป็นทศนิยมให้เป็นเลขฐานสิบหก
การแปลงเลขฐานสิบที่เป็นจำนวนทศนิยมให้เป็นเลขฐานสิบหก มีลักษณะคล้ายกับการแปลงเลขฐานสิบที่เป็นจำนวนทศนิยมให้เป็นเลขฐานสอง แตกต่างกันตรงที่ว่านำเอาสิบหกไปคูณ 16ตัวอย่างที่ 1.28 การแปลง (0.825)10 ให้เป็นเลขฐานสิบหก
วิธีทำ (0.825)10 = (……………..)16
คูณครั้งที่ 1 0.825 × 16 = 13.200
คูณครั้งที่ 2 0.200 × 16 = 3.200
คูณครั้งที่ 3 0.200 × 16 = 3.200

(0.825)10 = (0.D33)16

ตอบ (0.D33)16

ตัวอย่างที่ 1.29 การแปลง (0.2875)10 ให้เป็นเลขฐานสิบหก

วิธีทำ (0.2875)10 = (……………..)16
คูณครั้งที่ 1 0.2875 × 16 = 4.600
คูณครั้งที่ 2 0.600 × 16 = 9.600
คูณครั้งที่ 3 0.600 × 16 = 9.600

(0.2875)10 = (0.499)16

ตอบ (0.499)16

ตัวอย่างที่ 1.30 การแปลง (1589.1875)10 ให้เป็นเลขฐานสิบหก

วิธีทำ (1589.257)10 = (……………..)16
หารครั้งที่ 1 1589 ÷ 16 = 99 เศษ 5
หารครั้งที่ 2 99 ÷ 16 = 6 เศษ 3
หารครั้งที่ 3 3 ÷ 16 = 0 เศษ 3
(1589)10 = (335)16
(0.1875)10 = (………..)16
คูณครั้งที่ 1 0.1875 x 16 = 3.000
(0.1875)10 = (0.3)16

(589.257)10 = (335.3)16

ตอบ (335.3)1617
13. การแปลงเลขฐานสองให้เป็นเลขฐานแปดและเลขฐานสิบหก
การแปลงเลขฐานสองไปเป็นเลขฐานแปดและฐานสิบหก มีขั้นตอนการแปลงดังนี้ คือ แปลงเลขฐานสองให้อยู่ในรูปของเลขฐานสิบเสียก่อน ต่อจากนั้นก็แปลงเลขฐานสิบให้เป็นเลขฐานแปดหรือเลขฐานสิบหก ดังตัวอย่างต่อไปนี้

ตัวอย่างที่ 1.31 การแปลง (11011)2 ให้เป็นเลขฐานแปดและเลขฐานสิบหก

วิธีทำ (11011)2 = (……………..)10 = (……………..)8
หรือ = (……………..)10 = (……………..)16
ขั้นที่ 1 (11011)2 = (1×24) + (1×23) + (0×22) + (1×21) + (1×20)
= (1×16) + (1×8) + (0×4) + (1×2) + (1×1)

= 16 + 8 + 0 + 2 + 1

(11011)2 = (27)10
ขั้นที่ 2 (27)10 = (……………..)8
หารครั้งที่ 1 27 ÷ 8 = 3 เศษ 4
หารครั้งที่ 2 3 ÷ 8 = 0 เศษ 3
(27)10 = (34)8
ขั้นที่ 3 (27)10 = (……………..)16
หารครั้งที่ 1 27 ÷ 16= 1 เศษ 11 หรือ B
หารครั้งที่ 2 1 ÷ 16 = 0 เศษ 1
(27)10 = (1B)16
ตอบ (11011)2 = (34)8 และ = (1B)16
จากตัวอย่างที่ 1.31 จะพบว่าขั้นตอนการแปลงเลขฐานสองให้เป็นเลขฐานแปด และเลขฐานสิบหก นั้นมี 2 ขั้นตอนหลัก ๆ คือ 1) แปลงเลขฐานสองให้เป็นเลขฐานสิบ 2) แปลง18 เลขฐานสิบให้เป็นเลขฐานสิบหก ถ้าเป็นตัวเลขมาก ๆ อาจทำให้ยุ่งยากพอสมควร มีวิธีแก้ปัญหาความยุ่งยากนี้ด้วยวิธีแบ่งบิตและสร้างบิตโดยอาศัยความสัมพันธ์ของเลขฐานนั้น ๆ ดังนี้
เลขฐานสองจะมีความสัมพันธ์กับเลขฐานแปดแบบ 3 บิต ถ้าต้องการแปลงเลขฐานสองเป็นเลขฐานแปดต้องอาศัยหลักการแบ่งบิตออกเป็นชุด ๆ ละ 3 บิตซึ่งแต่ละบิตจะใช้แทนตัวเลขฐานแปด และถ้าต้องการแปลงเลขฐานแปดกลับมาเป็นเลขฐานสองต้องอาศัยหลักการสร้างบิต โดยนำเลขฐานแปดแต่ละตัวมาสร้างเป็นเลขฐานสองยึดหลักความสัมพันธ์แบบ 3 บิต ฉะนั้นเลขฐานแปดแต่ละตัวจะประกอบด้วยเลขฐานสอง 3 บิต
เลขฐานสองจะมีความสัมพันธ์กับเลขฐานสิบหกแบบ 4 บิต ถ้าต้องการแปลงเลขฐานสองเป็นเลขฐานสิบหกต้องอาศัยหลักการแบ่งบิตออกเป็นชุด ๆ ละ 4 บิตซึ่งแต่ละบิตจะใช้แทนตัวเลขฐานสิบหก และถ้าต้องการแปลงเลขฐานสิบหกกลับมาเป็นเลขฐานสองต้องอาศัยหลักการสร้างบิต โดยนำเลขฐานสิบหกแต่ละตัวมาสร้างเป็นเลขฐานสองยึดหลักความสัมพันธ์แบบ 4 บิต ฉะนั้นเลขฐานสิบหกแต่ละตัวจะประกอบด้วยเลขฐานสอง 4 บิต จงพิจารณาการแปลงเลขฐานสองไปเป็นเลขฐานแปด และเลขฐานสิบหกจากตารางดังต่อไปนี้
ตารางที่ 1.2 แสดงความสัมพันธ์ระหว่างเลขฐานสองกับเลขฐานแปด เลขฐานสอง
เลขฐานแปด
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7

ตารางที่ 1.3 แสดงความสัมพันธ์ระหว่างเลขฐานสองกับเลขฐานสิบหก
ตารางที่ 1.3 แสดงความสัมพันธ์ระหว่างเลขฐานสองกับเลขฐานสิบหก เลขฐานสอง
เลขฐานสิบหก
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9
1010
A
1011
B
1100
C
1101
D
1110
E
1111
F
ตัวอย่างที่ 1.32 การแปลงเลข (1111011110)2 ให้เป็นเลขฐานแปด
วิธีทำ (1111011110)2 = ( )8
ขั้นที่ 1 แบ่งบิตออกเป็นชุด ๆ ละ 3 บิต ชุดสุดท้ายไม่ครบ 3 บิตให้เติม 0 ด้านหน้าให้ครบ
(1 111 011 110)2 = (001 111 011 110)2
ขั้นที่ 2 นำเลขแต่ละชุดไปเทียบกับตารางความสัมพันธ์ จะได้ค่าดังนี้
(001) มีค่าเท่ากับ (1)8
(111) มีค่าเท่ากับ (7)8
(011) มีค่าเท่ากับ (3)8
(110) มีค่าเท่ากับ (6)8
ขั้นที่ 3 นำเลขฐานแปดมาเรียงกัน
(001 111 011 110)2 = (1736)8
(1111011110)2 = (1736)8
ตอบ (1736)8
ตัวอย่างที่ 1.33 การแปลงเลข (1111011110)2 ให้เป็นเลขฐานสิบหก
วิธีทำ (1111011110)2 = ( )16
ขั้นที่ 1 แบ่งบิตออกเป็นชุด ๆ ละ 4 บิต ชุดสุดท้ายไม่ครบ 4 บิตให้เติม 0 ด้านหน้าให้ครบ
(11 1101 1110)2 = (0011 1101 1110)2
ขั้นที่ 2 นำเลขแต่ละชุดไปเทียบกับตารางความสัมพันธ์ จะได้ค่าดังนี้
(0011) มีค่าเท่ากับ (3)16
(1101) มีค่าเท่ากับ (13)16 หรือ (D)16
(1110) มีค่าเท่ากับ (14)16 หรือ (E)16
ขั้นที่ 3 นำเลขฐานแปดมาเรียงกัน
(11 1101 1110)2 = (3DE)16
(1111011110)2 = (3DE)16
ตอบ (3DE)16
14. การแปลงเลขฐานแปดให้เป็นเลขฐานสอง
การแปลงเลขฐานแปดไปเป็นเลขฐานสอง มีขั้นตอนการแปลงดังนี้ คือ แปลงเลขฐานแปดให้อยู่ในรูปของเลขฐานสิบเสียก่อน ต่อจากนั้นก็แปลงเลขฐานสิบให้เป็นเลขฐานสอง หลักการนี้ค่อนข้างล่าช้า มีวิธีที่ดีและรวดเร็วกว่านี้ โดยยึดหลักของความสัมพันธ์ของเลขฐานสอง กับเลขฐานแปดซึ่งมีความสัมพันธ์กันแบบ 3 บิต ตามตารางที่ 1.2 ดังตัวอย่างต่อไปนี
ตัวอย่างที่ 1.34 การแปลงเลข (7531)8 ให้เป็นเลขฐานสอง
(7)8 = (111)2
(5)8 = (101)2
(3)8 = (011)2
(1)8 = (001)2
วิธีทำ (7 5 3 1 )8
111 101 011 001
(7531)8 = (111101011001)2
ตอบ (111101011001)2
ตัวอย่างที่ 1.35 การแปลงเลข (6420.451)8 ให้เป็นเลขฐานสอง
วิธีทำ (6 4 2 0 . 4 5 1 )8
110 100 010 000 100 101 001
(6420.451)8 = (110100010000.100101001)2
ตอบ (110100010000.100101001)2
15. การแปลงเลขฐานสิบหกให้เป็นเลขฐานสอง
การแปลงเลขฐานสิบหกให้เป็นเลขฐานสอง มีหลักการเดียวกับการแปลงเลขฐานแปดเป็นเลขฐานสอง ซึ่งมีขั้นตอนการแปลงดังนี้ คือ แปลงเลขฐานแปดให้อยู่ในรูปของเลขฐานสิบเสียก่อน ต่อจากนั้นก็แปลงเลขฐานสิบให้เป็นเลขฐานสอง เช่นเดียวกันหลักการแบบนี้ค่อนข้างล่าช้า ซึ่งมีวิธีที่ดีและรวดเร็วกว่านี้ โดยยึดหลักของความสัมพันธ์ของเลขฐานสอง กับเลขฐานสิบหกซึ่งมีความสัมพันธ์กันแบบ 4 บิต ตามตารางที่ 1.2 ดังตัวอย่างต่อไปนี
ตัวอย่างที่ 1.36 การแปลงเลข (7A9B)16 ให้เป็นเลขฐานสอง
(7)16 = (0111)2
(A)16 = (1010)2
(9)16 = (1001)2
(B)16 = (1101)2
วิธีทำ (7 A 9 B )16
0111 1010 1001 1011
(7A9B)16 = (111101010011011)2
ตอบ (111101010011011)2
ตัวอย่างที่ 1.37 การแปลงเลข (F54D.0C3)16 ให้เป็นเลขฐานสอง
วิธีทำ (F 5 4 D . 0 C 3)16
1111 0101 0100 1101 0000 1100 0011
(F54D.0C3)16 = (1111010101001101.000011000011)2
ตอบ (1111010101001101.000011000011)2
สรุป
ในระบบดิจิตอลซึ่งเป็นพื้นฐานของการพัฒนาคอมพิวเตอร์นั้นจำเป็นอย่างยิ่งที่ต้องอาศัยระบบ เลขฐานเพื่อเป็นตัวกลางในการสื่อสารระหว่างคอมพิวเตอร์กับผู้ใช้ เพราะคอมพิวเตอร์จะทำงานเองอย่างอัตโนมัติ ตามคำสั่งที่ผู้สร้างเขียนไว้อย่างเป็นระบบ เป็นลำดับ ซึ่งลักษณะของคำสั่งโดยมากจะเป็นสัญลักษณ์ที่เป็น 0 หรือ 1 หรือเป็นตัว A หรือ B หรือ C ซึ่งจะไปตรงกับระบบเลขฐานที่เราเรียกว่าเลขฐานสอง ฐานแปด หรือฐานสิบหก โดยเฉพาะระบบเลขฐานสองเป็นระบบที่คอมพิวเตอร์รู้จักและเข้าใจเป็นอย่างดีโดยไม่ต้องมีตัวแปลช่วยในการสื่อสาร เพราะตรงกับธรรมของการทำงานของเครื่องคอมพิวเตอร์และอุปกรณ์อิเล็กทรอนิกส์ คือจะทำงานได้หรือทำงานไม่ได้ ก็ต่อเมื่อมีไฟฟ้ามาเลี้ยงหรือไม่มีไฟฟ้าเลี้ยง แปลว่าถ้ามีไฟฟ้าเข้ามาเลี้ยงวงจรจะให้ค่าเป็น “1” และถ้าไม่มีสัญญาณไฟฟ้าเข้าเลี้ยงวงจรจะมีค่าเป็น “0” ซึ่งไปตรงกับระบบเลขฐานสองนั่นเอง คือระบบเลขชนิดนี้จะมีตัวเลข 2 ตัวเท่านั้นคือ 0 และ 1 แต่เมื่อต้องการนำไปใช้แทนข้อมูลหรือคำสั่ง จะต้องนำมาจัดเรียงใหม่ให้มีจำนวนหลายหลัก ในทางดิจิตอลเรียกว่า บิต ดังนั้นคำสั่งหนึ่ง ๆ โดยส่วนใหญ่จะประกอบด้วยเลขฐานสองวางเรียงกันประมาณ 8 บิต

ระบบเลขฐานสองจึงเป็นสิ่งสำคัญที่นักโปรแกรมเมอร์ หรือนักอิเล็กทรอนิกส์ทุกคนที่จะต้องทำความเข้าใจ เพราะเป็นเครื่องมือที่จะนำมาควบคุมให้คอมพิวเตอร์หรืออุปกรณ์อิเล็กทรอนิกส์ทำงาน แต่การศึกษาและทำความเข้าใจเกี่ยวกับระบบเลขฐานสอง ทำได้ค่อนข้างยากและต้องใช้เวลามาก กว่าจะพัฒนาชุดคำสั่งได้สำเร็จ นักพัฒนาระบบจึงได้พยายามหาระบบอื่นๆ มาทดแทนเพื่อจะได้แก้ปัญหาการทำงานให้รวดเร็วยิ่งขึ้น จึงได้มีการทดลองนำเอาระบบเลขฐานแปด และระบบเลขฐานสิบหกเข้ามาร่วมใช้ ซึ่งทำให้คอมพิวเตอร์มีขีดความสามารถในการทำงานได้สูงยิ่งขึ้น ถึงอย่างไรก็ตามมนุษย์ซึ่งเป็นผู้ควบคุมคอมพิวเตอร์และอุปกรณ์อิเล็กทรอนิกส์ ยังคงต้องการความสะดวกในการทำงาน และโดยพื้นฐานจะคุ้นเคยกับระบบตัวเลขที่ใช้อยู่ในปัจจุบัน นั่นหมายถึงระบบเลขฐานสิบ ซึ่งจะเขียนเป็นชุด คำสั่งค่อนข้างง่ายเพราะคุ้นเคยมานาน ดังนั้นจึงจำเป็นอย่างยิ่งที่ผู้ใช้หรือผู้ผลิตต้องศึกษาระบบของเลขฐานต่าง ๆ ทั้งด้านของส่วนประกอบของเลขฐานต่าง ๆ การแปลงเลขฐานหนึ่งไปเป็นอีกฐานหนึ่ง ให้คล่องแคล่ว และชำนาญการ เพื่อจะได้สื่อสารกับอุปกรณ์อิเล็กทรอนิกส์และคอมพิวเตอร์ได้อย่างเข้าใจ ทั้งนี้เพื่อควบคุมให้อุปกรณ์ต่าง ๆ ทำงานให้ได้อย่างมีประสิทธิภาพ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น