ป้ายเลื่อน


WelCom To www.Kiss-Hack.blogspot.com สังคม IT สังคม Hacker

หมวดหมู่

วันเสาร์ที่ 19 ตุลาคม พ.ศ. 2556

เลขฐานสิบคือ อะไร?

       


   
ในบทความนี้ ก็จะให้ทำความรู้จักกับ เลขฐาน 16 (Hexadecimal) เพราะว่า มันค่อนข้างที่จะสำคัญ (อาจจะสำคัญมากเลยละ) เพราะว่า การเขียนโปรแกรมนั้น ไม่ว่าจะเขียนด้วยภาษาใหน มันก็จะถูกแปลงเป็น Hex หมด


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

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

ปล.ผมไม่รับ Hack หรือยิง IP เป็นการส่วนตัวเพราะผมไม่ใช่ Hacker แต่เป็น Programming Security