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