กฎ 4 บิต
ระบบเลขฐานสิบหกใช้สัญลักษณ์ 16 ตัว ได้แก่ 0–9 และ A–F โดยที่ A มีค่าเท่ากับ 10 และ F มีค่าเท่ากับ 15 บิตเลขฐานสองจำนวน 4 บิตสามารถแทนค่าได้ตั้งแต่ 0 ถึง 15 ดังนั้นเลขฐานสิบหกแต่ละหลักจึงเทียบเท่ากับกลุ่มเลขฐานสองขนาด 4 บิตหนึ่งกลุ่มพอดี
| ฐานสิบหก | ฐานสอง | ฐานสิบหก | ฐานสอง |
|---|---|---|---|
| 0 | 0000 | 8 | 1000 |
| 1 | 0001 | 9 | 1001 |
| 2 | 0010 | A | 1010 |
| 3 | 0011 | B | 1011 |
| 4 | 0100 | C | 1100 |
| 5 | 0101 | D | 1101 |
| 6 | 0110 | E | 1110 |
| 7 | 0111 | F | 1111 |
ลองดูตัวอย่าง: 24D₁₆
- แยกเลขฐานสิบหกออกเป็นหลักต่างๆ ได้แก่ 2, 4 และ D
- ดูค่าของแต่ละกลุ่ม 4 บิต: 2 → 0010, 4 → 0100, D → 1101
- นำกลุ่มต่างๆ มาต่อกันตามลำดับเดิม: 24D₁₆ = 0010 0100 1101₂
เพื่อตรวจสอบความถูกต้อง: 24D₁₆ มีค่าเท่ากับ 589 ในระบบเลขฐานสิบ และ 0010 0100 1101₂ ก็มีค่าเท่ากับ 589 เช่นกัน การแบ่งเป็นกลุ่มละ 4 บิตช่วยให้ตรวจสอบผลการแปลงได้ง่ายขึ้น
ความสำคัญของเลขศูนย์นำหน้า (leading zeros)
คงจำนวนบิตไว้ให้ครบ 4 บิตเสมอเมื่อแปลงแต่ละหลัก: ในวิธีแบ่งกลุ่มนี้ เลข 2 จะต้องเขียนเป็น 0010 ไม่ใช่แค่ 10 เลขศูนย์นำหน้าไม่ได้เปลี่ยนค่าของตัวเลข แต่ช่วยให้เลขฐานสิบหกแต่ละหลักตรงกับกลุ่ม 4 บิตของมัน ซึ่งมีความสำคัญเมื่อต้องอ่านค่าในรูปแบบไบต์ (byte), บิตฟิลด์ (bit field) หรือค่าที่มีความกว้างคงที่ (fixed-width value)
ตัวอย่างเช่น 0A₁₆ จะกลายเป็น 0000 1010₂ หากคุณต้องการเพียงแค่รูปแบบเลขฐานสองที่สั้นที่สุดตามปกติ คุณสามารถตัดเลขศูนย์ที่อยู่หน้าสุดออกได้หลังจากนำกลุ่มต่างๆ มาต่อกันแล้ว แต่ห้ามตัดเลขศูนย์ที่อยู่ภายในกลุ่มออก
การแปลงค่าที่มีความยาวมากขึ้นโดยไม่สับสนตำแหน่ง
- อ่านจากซ้ายไปขวาและแทนที่เลขฐานสิบหกทีละหลัก
- คงผลลัพธ์ของแต่ละหลักไว้ที่ความยาว 4 บิตเสมอ รวมถึงเลขศูนย์ด้วย
- เว้นวรรคระหว่างกลุ่มเพื่อช่วยตรวจสอบงานของคุณ และตัดช่องว่างออกก็ต่อเมื่อปลายทางที่คุณจะนำข้อมูลไปใช้ต้องการรูปแบบสตริงที่ต่อเนื่องกันโดยไม่มีช่องว่างคั่น
- หากข้อมูลนำเข้ามีคำนำหน้า (prefix) เช่น 0x ให้ตัดคำนำหน้านั้นออกก่อนที่จะป้อนตัวเลขลงในเครื่องมือแปลงค่าที่รองรับเฉพาะตัวเลขเท่านั้น
หากต้องการตรวจสอบอย่างรวดเร็ว เครื่องมือแปลงฐานเลขของ UsefulVerse สามารถแปลงจำนวนเต็มระหว่างฐาน 2 ถึง 36 ได้โดยตรงบนเบราว์เซอร์ของคุณ เพียงเลือกฐานเลขฐานสิบหก (hexadecimal) เป็นฐานนำเข้า และฐานเลขฐานสอง (binary) เป็นฐานผลลัพธ์ โดยข้อมูลของคุณจะถูกประมวลผลและคงอยู่ภายในอุปกรณ์ของคุณเท่านั้น