ระบบจำนวนและ การแปลงเลขฐาน
ระบบจำนวนหรือระบบตัวเลข ระบบจำนวนหรือระบบตัวเลข คือตัวเลขต่างๆ ที่ใช้ในการคำนวณเพื่อประยุกต์ใช้ใน งานด้านต่างๆ ระบบจำนวนมีความสำคัญอย่างมากเพื่อในการใช้งานคำนวณ ตัวเลขต่างๆ เพื่อทำการประมวลผลให้ได้ผลลัพธ์ที่จะนำไปใช้งาน โดยทั่วไประบบ ตัวเลขที่มนุษย์เรารู้จักมากที่สุดคือระบบตัวเลขฐานสิบ (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) 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 1010 12 A 1011 13 B 1100 14 C 1101 15 D
การแปลงเลขฐาน การแปลงเลขฐานเป็นพื้นฐานที่สำคัญในการติดต่อสื่อสารระหว่างมนุษย์ กับคอมพิวเตอร์ให้สามารถทำงานร่วมกันได้ มนุษย์จะคุ้นเคยกับการ ทำงานของตัวเลขในรูปของเลขฐานสิบ ส่วนคอมพิวเตอร์จะทำงานใน รูปแบบของเลขฐานสอง ดังนั้นจึงจำเป็นที่จะต้องศึกษาเข้าใจหลักการ แปลงเลขฐานในมาตรฐานเดียวกันเพื่อให้สามารถใช้งานคอมพิวเตอร์ได้ อย่างมีประสิทธิภาพ
การแปลงเลขฐานสิบเป็นเลขฐานสอง เลขฐานแปด เลขฐานสิบหก การแปลงเลขฐานสิบเป็นเลขฐานต่างๆ จะกระทำโดยใช้วิธีการหารด้วย เลขฐานที่ต้องการแปลง เช่น ถ้าต้องการแปลงเป็นเลขฐานสองก็จะเอา เลขสองเป็นตัวหาร ถ้าต้องการแปลงเป็นเลขฐานแปดก็จะเอาเลขแปดเป็น ตัวหาร ถ้าต้องการแปลงเป็นเลขฐานสิบหกก็จะเอาเลขสิบหกเป็นตัวหาร โดยจะกระทำการหารจนกว่าจะไม่สามารถที่จะหารได้อีกต่อไป เศษที่ เหลือจากการหารแต่ละครั้งคือคำตอบที่ต้องการ โดยเศษที่เหลือจาก การหารครั้งแรกเป็นตัวที่มีนัยสำคัญน้อยที่สุด (Least Significant Digit หรือ LSD) และเศษที่เหลือจากการหารครั้งสุดท้ายเป็นตัวที่มีนัยสำคัญ สูงสุด (Most Significant Digit หรือ MSD)
ตัวอย่างที่ 1.1 ให้ทำการแปลงเลขฐานดังนี้ (37)10 = ( ? )2 ตัวหาร 2 37 เศษ 2 18 1 9 4 คำตอบ (37)10 = (100101)2
ตัวอย่างที่ 1.2 ให้ทำการแปลงเลขฐานดังนี้ (50)10 = ( ? )8 ตัวหาร 8 50 เศษ 8 6 2 คำตอบ (50)10 = ( 62 )8
ตัวอย่างที่ 1.3 ให้ทำการแปลงเลขฐานดังนี้ (87)10 = ( ? )16 ตัวหาร 16 87 เศษ 16 5 7 คำตอบ (87)10 = ( 57 )16
การแปลงเลขฐานสอง เลขฐานแปด เลขฐานสิบหก เป็นเลขฐานสิบ การแปลงเลขฐานใดๆ เป็นฐานสิบ สามารถทำได้โดยการนำเอาเลขแต่ละ ตำแหน่งของเลขฐานนั้น คูณด้วยน้ำหนักของเลขฐานนั้นแล้วนำมารวมกัน ทั้งหมดก็จะได้คำตอบตามที่ต้องการ ตัวเลขในแต่ละหลักจะมีค่าน้ำหนักที่ขึ้นอยู่กับตำแหน่งหลักและฐาน (Base) ของตัวเลขนั้นตามสมการ โดยที่ a = ค่าของตัวเลขแต่ละหลัก n ตำแหน่งหลักสูงสุดของจำนวนเต็ม m ตำแหน่งหลักสูงสุดของทศนิยม r ฐาน (Base) N ขนาดของตัวเลข
เช่น (125.21)10 = (1x102) +(2x101)+(5x100)+(2x10-1)+(1x10-2) (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
แบบฝึกหัดทบทวน ระบบจำนวนคืออะไร จงอธิบายระบบจำนวนของเลขฐานสอง เลขฐานแปด เลขฐานสิบ และเลขฐานสิบหก โดยระบบจำนวนของเลขแต่ละตัวประกอบด้วยตัวเลขอะไรบ้าง จงแปลงเลขฐาน (59)10 = ( ? )2 จงแปลงเลขฐาน (152)10 = ( ? )2 จงแปลงเลขฐาน (47)10 = ( ? )8 จงแปลงเลขฐาน (165)10 = ( ? )16 จงแปลงเลขฐาน (110101)2 = ( ? )10 จงแปลงเลขฐาน (1101110.1010)2 = ( ? )10 จงแปลงเลขฐาน (75)8 = ( ? )10 จงแปลงเลขฐาน (1A9)16 = ( ? )10
แบบฝึกหัดทบทวน ฐานสอง ฐานสิบหก ฐานสิบ ฐานแปด 168 AB 142 010100101111 จงแปลงเลขฐานต่างๆ ดังต่อไปนี้ ฐานสอง ฐานสิบหก ฐานสิบ ฐานแปด 168 AB 142 010100101111 http://www.udru.ac.th
เอกสารอ้างอิง งามนิจ อาจอินทร์, ความรู้ทั่วไปเกี่ยวกับวิทยาการคอมพิวเตอร์., กรุงเทพฯ, 2542. ธวัชชัย เลื่อนฉวี, และ อนุรักษ์ เถื่อนศิริ, ดิจิตอลเทคนิคเล่ม 1., กรุงเทพฯ, ศุภาลัยมีเดียจำกัด, 2537. ธีรวัฒน์ ประกอบผล, ดิจิตอลอิเล็กทรอนิกส์., กรุงเทพฯ, แมคกรอ-ฮิล อินเตอร์เนชันแนล เอ็นเตอร์ไพร์ส, อิงค์., 2540. http://www.udru.ac.th http://www.udru.ac.th