คำตอบสั้นๆ
เลขฐานสิบหก (ฐาน 16) ใช้ตัวเลข 0-9 และตัวอักษร A-F โดยที่แต่ละตำแหน่งแทนค่ากำลัง 16 FF ในฐานสิบหกเท่ากับ 15×16 + 15 = 255 ในรูปทศนิยม ซึ่งเป็นค่าที่ใหญ่ที่สุดที่ไบต์เดียวสามารถเก็บได้ โปรแกรมเมอร์ใช้เลขฐานสิบหกเพราะมันแมปลงบนไบนารี่อย่างสมบูรณ์: หลักเลขฐานสิบหกหนึ่งหลักจะเท่ากับ 4 บิตเสมอ ดังนั้นเลขฐานสิบหกสองหลักจึงแทนไบต์เต็ม
ประเด็นสำคัญ
- เลขฐานสิบหกสองหลักเท่ากับหนึ่งไบต์ (8 บิต) ซึ่งเป็นค่าตั้งแต่ 00 ถึง FF (0 ถึง 255) ซึ่งเป็นเหตุผลว่าทำไมที่อยู่หน่วยความจำ ค่าไบต์ และรหัสสีจึงแสดงเป็นเลขฐานสิบหกเกือบทุกครั้ง
- การแปลงเลขฐานสิบหกเป็นไบนารี่นั้นเป็นกลไก: แทนที่เลขฐานสิบหกแต่ละตัวด้วยค่าที่เทียบเท่ากับเลขฐานสอง 4 บิตแล้วรวมเข้าด้วยกัน
- เลขคณิตฐานสิบหกมีตรรกะการถือและการยืมแบบเดียวกับเลขคณิตทศนิยม โดยมีฐานเป็น 16 แทนที่จะเป็น 10
- สีเว็บ (#RRGGBB) บรรจุค่าสามไบต์ — สีแดง, สีเขียว, สีฟ้า — ให้เป็นเลขฐานสิบหกหกหลัก สองหลักต่อช่องสี
ค่าเลขฐานสิบหก (0-F)
| ฐานสิบหก | ทศนิยม | ฐานสิบหก | ทศนิยม |
|---|---|---|---|
| A | 10 | D | 13 |
| B | 11 | E | 14 |
| C | 12 | F | 15 |
การแปลงทศนิยมเป็นฐานสิบหก
202 ÷ 16 = 12 ส่วนที่เหลือ 10 → A
12 ۞ 16 = 0 ส่วนที่เหลือ 12 → C
อ่านส่วนที่เหลือจากล่างขึ้นบน: CA
ทศนิยม 202 เท่ากับ CA ฐานสิบหก ตรวจสอบย้อนกลับ: C×16 + A = 12×16 + 10 = 192 + 10 = 202 — ยืนยันการแปลง
ตัวอย่างการทำงาน: การบวกเลขฐานสิบหก
3A+1F
A (10) + F (15) = 25 = 1×16 + 9 → เขียน 9, ยก 1
3 + 1 + ยก 1 = 5
ผลลัพธ์: 59
การเช็คเป็นทศนิยม: 3A = 58, 1F = 31 และ 58 + 31 = 89 ซึ่งก็คือ 5×16 + 9 = 0x59 — ตรงกับเลขคณิตฐานสิบหกทุกประการ ข้อแตกต่างที่แท้จริงเพียงอย่างเดียวจากการบวกทศนิยมคือการยกเกิดขึ้นเมื่อคอลัมน์ถึง 16 ไม่ใช่ 10
ข้อผิดพลาดทั่วไปที่ควรหลีกเลี่ยง
- การแบก 10 ออกจากนิสัยแทนที่จะเป็น 16 - คอลัมน์ฐานสิบหกจะดำเนินการเมื่อค่าถึง 16 ไม่ใช่ 10 เหมือนทศนิยม
- สมมติว่าเลขฐานสิบหกตัวเดียวคือหนึ่งบิต มันจะแทน 4 บิตเสมอ เนื่องจาก 16 = 2⁴
- การทิ้งศูนย์นำหน้าบนไบต์ที่มีความกว้างคงที่หรือช่องสี - 0x0A และ 0xA เป็นค่าเดียวกัน แต่การแสดงผลไบต์แบบสองหลักคาดว่าจะเป็น 0A ไม่ใช่ A
- การผสมขนาดตัวพิมพ์ไม่สอดคล้องกัน — เลขฐานสิบหกไม่คำนึงถึงขนาดตัวพิมพ์ (a = A = 10) แต่การยึดติดกับกรณีเดียวจะหลีกเลี่ยงความสับสนในการมองเห็นค่าที่ยาวกว่า
เครื่องคิดเลขที่เกี่ยวข้อง
- เครื่องคิดเลขไบนารี — ทำงานโดยตรงในฐาน 2 ควบคู่ไปกับการแปลงฐานสิบหก
- เครื่องคิดเลขจำนวนมาก — จัดการค่าที่เกินช่วงเลขคณิตฐานสิบหกมาตรฐาน
- เครื่องคำนวณเลขชี้กำลัง — ตรวจสอบเลขยกกำลัง 16 หลังค่าหลักเลขฐานสิบหกแต่ละหลัก
- เครื่องคิดเลขพื้นฐาน — จัดการเลขคณิตทศนิยมทุกวันนอกฐานเฉพาะใดๆ