เครื่องมือ
TH

แปลงเลขฐานสิบหกเป็นเลขฐานสอง (Hex to Binary)

แปลงเลขฐานสิบหกเป็นเลขฐานสองแบบเรียลไทม์ เลข hex แต่ละหลักแทนด้วย 4 บิตพอดี ดังนั้น 1A จึงกลายเป็น 0001 1010 ติ๊ก จัดกลุ่มตัวเลข เพื่อดูกลุ่ม 4 บิต (nibble) แยกกันทีละกลุ่ม

เคล็ดลับ: ป้อนตัวเลขบรรทัดละหนึ่งค่า เพื่อแปลงทั้งรายการในครั้งเดียว

ในทุกเลขฐาน

เลขฐานสิบหก
เลขฐานสิบ
เลขฐานสอง
เลขฐานแปด

เป็นส่วนตัว: ข้อมูลของคุณถูกประมวลผลในเบราว์เซอร์ และไม่มีการอัปโหลดไปที่ใดเลย

วิธีแปลง hex เป็น binary

  1. ป้อนเลขฐานสิบหก เช่น 3F หรือ 0xDEAD หรือวางรายการตัวเลขบรรทัดละหนึ่งค่าก็ได้
  2. ผลลัพธ์ฐานสองจะแสดงทันที ติ๊ก จัดกลุ่มตัวเลข เพื่อแบ่งเป็น nibble หรือ มีเครื่องหมาย เพื่อเติมให้ครบ 8, 16, 32 หรือ 64 บิต
  3. ดูวิธีทำทีละขั้นที่จับคู่เลข hex แต่ละหลักกับ 4 บิตของมัน แล้วคัดลอกค่าฐานสองไปใช้

ตารางแปลงเลขฐาน 16 เป็นฐาน 2

เลข hex แต่ละหลักตรงกับกลุ่ม 4 บิตหนึ่งกลุ่ม เรียกว่า nibble จำหรือบุ๊กมาร์กตารางนี้ไว้ แล้วคุณจะแปลงเลขฐานสิบหกใด ๆ เป็นฐานสองด้วยมือได้

ฐาน 16ฐาน 2ฐาน 10
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
A101010
B101111
C110012
D110113
E111014
F111115

วิธีแปลงเลขฐานสิบหกเป็นเลขฐานสอง

เนื่องจาก 16 = 2⁴ เลข hex หนึ่งหลักจึงแทน 4 บิตพอดีเสมอ และ hex สองหลักแทนหนึ่งไบต์ วิธีแปลงคือแทนแต่ละหลักด้วยรูปแบบ 4 บิตจากตาราง แล้วเขียนแต่ละกลุ่มเรียงต่อกัน:

2F9 → 2 = 0010, F = 1111, 9 = 1001 → 0010 1111 1001

ตัด 0 ที่นำหน้าออกได้ จะได้ 1011111001 (761 ในฐานสิบ) แต่เลข 0 ที่อยู่ภายในตัวเลขต้องคงไว้: C3 คือ 1100 0011 ไม่ใช่ 11 0011

ในโค้ด: Python format(int('2F9', 16), 'b'), JavaScript parseInt('2F9', 16).toString(2) (หรือ BigInt('0x' + hex).toString(2) สำหรับค่าที่ยาว) ส่วน Excel =HEX2BIN("1A", 8) ได้ 00011010 แต่ใช้ได้ถึงแค่ 1FF เท่านั้น

คำถามที่พบบ่อย

ทำไม hex หนึ่งหลักจึงเท่ากับ 4 บิต?

เพราะ 16 = 2⁴ บิต 4 บิตมีรูปแบบได้ 16 แบบพอดี คือ 0000 ถึง 1111 ตรงกับเลข hex แต่ละหลักตั้งแต่ 0 ถึง F ทำให้ hex เป็นวิธีเขียนเลขฐานสองที่กระชับ: hex สองหลักแทนหนึ่งไบต์

FF ในเลขฐานสองคืออะไร?

FF คือ 1111 1111 ในฐานสอง – เลข 1 แปดตัว ซึ่งเป็นค่าสูงสุดของหนึ่งไบต์ (255 ในฐานสิบ)

ควรเก็บเลข 0 ที่นำหน้าไว้ไหม?

เลข 0 ที่นำหน้าไม่ทำให้ค่าเปลี่ยน: 0001 1010 และ 11010 ต่างก็เท่ากับ 26 ให้เก็บไว้เมื่อต้องการความยาวคงที่ เช่น หนึ่งไบต์เต็มหรือรีจิสเตอร์ โดยติ๊ก “จัดกลุ่มตัวเลข” หรือ “มีเครื่องหมาย” เพื่อเติม 0 ให้ผลลัพธ์

แปลงเลขฐานสิบหกที่มีจุดทศนิยมได้ไหม?

ได้ หลักหลังจุดก็แทนด้วย 4 บิตเช่นกัน ดังนั้น 1A.8 = 0001 1010.1000 = 11010.1 ในฐานสอง ซึ่งเท่ากับ 26.5 ในฐานสิบ