เลขฐานสิบหก

จากวิกิพีเดีย สารานุกรมเสรี
การนับนิ้วในระบบเลขฐานสิบหก

ในคณิตศาสตร์และการคอมพิวเตอร์, เลขฐานสิบหก (อังกฤษ: hexadecimal) หมายถึงระบบเลขฐานที่มีสัญลักษณ์ 16 ตัว (ฐานสิบมี 10 ตัวคือ 0-9) โดยปกติจะใช้สัญลักษณ์ 0 1 2 3 4 5 6 7 8 9 A B C D E F ในการแสดงหรือเขียนทั้ง 16 ตัว[1]

ระบบเลขฐานสิบหก (hexadecimal) มักถูกใช้ในการเข้ารหัส (encode) คำสั่งควบคุมเครื่อง (control code) ที่อยู่ในระบบเลขฐานสอง (binary) ที่มีจำนวนคำสั่งยาวมาก ๆ ยกตัวอย่างได้ เช่น ตามคำอธิบายข้างต้น ถ้า 11111 เป็นคำสั่งควบคุมเครื่องในรูปเลขฐานสอง (binary) คือ 11111 ผู้ควบคุมเครื่องอาจจะเข้ารหัส (encode) คำสั่งควบคุมเครื่องไว้ในรหัสบาร์โค้ด (barcode) ในรูป 1F ถ้าใช้รหัสเลขฐานสิบหก (hexadecimal) ซึ่งบาร์โค้ด (barcode) นั้นเวลาพิมพ์ที่จะใช้ให้เครื่องอ่านคำสั่งควบคุมเครื่อง จะใช้ความยาวของบาร์โค้ด (barcode) 2 ตัว เช่นการใช้ระบบเลขฐานสิบหก (hexadecimal) นี้ในการเข้ารหัส (encode) คำสั่งควบคุมเครื่อง (control code)สำหรับเครื่องจักรอัตโนมัติความเร็วสูง ( high speed Finishing system) เป็นต้น

ตัวอย่างของเลขฐานสิบหก ได้แก่ เลข 2AF316 ซึ่งสามารถเปลี่ยนเป็นเลขฐานสิบได้ สังเกตได้ว่า 2AF316 นั้นคือผลบวกของ (200016 + A0016 + F016 + 316) โดยเปลี่ยนเลขแต่ละหลักเป็นเลขฐานสิบได้ตามนี้

แต่ละหลักของเลขฐานสิบหกนั้นแสดงถึง เลขฐานสอง (บิต) 4 บิตด้วยกัน และส่วนใหญ่แล้วเลขฐานสิบหกนั้นใช้เพื่อให้การแสดงเลขฐานสองนั้นง่ายสำหรับมนุษย์เพื่อการคำนวณและสำหรับเครื่องใช้ไฟฟ้าดิจิทัล เลขฐานสิบหกหนึ่งหลักเท่ากับหนึ่งนิบเบิล ซึ่งเป็นครึ่งหนึ่งของอ็อกเท็ต หรือ ไบต์ (8 บิต) ตัวอย่างเช่น ค่าของไบต์นั้นมีได้ตั้งแต่ 0 ถึง 255 (เลขฐานสิบ) ทว่าสามารถแสดงเป็นเลขฐานสิบหกเพียงสองหลักตั้งแต่ 00 ถึง FF โดยเลขฐานสิบหกยังถูกใช้แสดงที่อยู่หน่วยความจำคอมพิวเตอร์อีกด้วย
0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1
ฐานสิบ ฐานสอง ฐานสิบหก
30 11110 1E

การแสดงฐานตัวเลขต่าง ๆ ในตารางสุดท้ายนี้ จำนวน 30 คือ จำนวนตัวเลขของเลขฐานสิบ (decimal) จะสามารถแปลงค่าเท่ากับจำนวน 11110 ของเลขฐานสอง (binary) หรือเท่ากับจำนวน 36 ของเลขฐานแปด (octal) หรือเท่ากับจำนวน 1E ของเลขฐานสิบหก (hexadecimal)

สามารถยกตัวอย่างเพิ่มเติม คือจะเห็นว่า จำนวน 31 ของเลขฐานสิบ (decimal) จะสามารถแปลงค่าเท่ากับจำนวน 11111 ของเลขฐานสอง (binary) หรือเท่ากับจำนวน 37 ของเลขฐานแปด (octal) หรือเท่ากับจำนวน 1F ของเลขฐานสิบหก (hexadecimal) ซึ่งสามารถแสดงได้ตามลำดับดังนี้

   31       11111     37        1F            


อ้างอิง[แก้]