เครื่องมือ
TH

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

วางเลขฐานสองแล้วรับค่า hex ได้ทันที ระบบจะข้ามช่องว่าง ขีดล่าง และ prefix 0b ให้อัตโนมัติ ค่าที่คัดลอกมาจากโค้ดหรือ datasheet จึงใช้ได้เลยโดยไม่ต้องแก้ไข

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

ในทุกเลขฐาน

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

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

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

  1. วางหรือพิมพ์เลขฐานสอง เช่น 1101 0110 หรือ 0b11010110 หากต้องการแปลงหลายค่าพร้อมกัน ให้ใส่แต่ละค่าแยกบรรทัดกัน
  2. ค่า hex จะแสดงทันทีขณะพิมพ์ พร้อมค่าเลขฐานสิบและฐานแปด ส่วนขั้นตอนใต้ผลลัพธ์จะแสดงวิธีจัดกลุ่มบิต
  3. คัดลอกผลลัพธ์ hex หรือกด สลับ เพื่อแปลง hex กลับเป็นเลขฐานสอง

วิธีแปลงเลขฐาน 2 เป็นเลขฐาน 16 ด้วยตัวเอง

  1. แบ่งเลขฐานสองออกเป็นกลุ่มละ 4 บิต โดยเริ่มจากทางขวา (ถ้ามีส่วนหลังจุด ให้เริ่มที่จุดแล้วแบ่งออกไปทั้งสองทาง)
  2. ถ้ากลุ่มซ้ายสุดมีไม่ถึง 4 บิต ให้เติม 0 ข้างหน้าให้ครบ
  3. แทนแต่ละกลุ่มด้วยเลขฐานสิบหกหนึ่งหลักตามตารางด้านล่าง

ตัวอย่าง: 1011111001 → 0010 1111 1001 → 2, F, 9 → 2F9 ถ้าเป็นไบต์จะยิ่งเร็วกว่านั้น: 1100 0011 = C3

ตารางแปลงเลขฐานสองเป็นฐานสิบหก

ฐาน 2ฐาน 16ฐาน 2ฐาน 16
0000010008
0001110019
001021010A
001131011B
010041100C
010151101D
011061110E
011171111F

ทำไมโปรแกรมเมอร์จึงเขียนเลขฐานสองเป็น hex

เลขฐานสองที่ยาวมากอ่านยากและพิมพ์ผิดได้ง่าย เนื่องจาก hex หนึ่งหลักแทน 4 บิตพอดี hex จึงสั้นกว่าถึง 4 เท่า แต่ยังเห็นรูปแบบบิตได้โดยตรง เช่น ค่า 32 บิต 1101 1110 1010 1101 1011 1110 1110 1111 เขียนเป็น hex ได้แค่ DEADBEEF นี่คือเหตุผลที่ที่อยู่หน่วยความจำ โค้ดสี MAC address ลายเซ็นไฟล์ (file signature) และ machine code ล้วนเขียนเป็น hex

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

ถ้าจำนวนบิตไม่ลงตัวกับ 4 ต้องทำอย่างไร?

เติม 0 ทางซ้ายจนครบ เช่น 101 กลายเป็น 0101 = 5 และ 11010 กลายเป็น 0001 1010 = 1A เลข 0 ที่นำหน้าไม่ทำให้ค่าเปลี่ยนแปลง

11111111 ในฐานสิบหกคืออะไร?

11111111 คือ FF ในฐานสิบหก เพราะทั้งสองกลุ่ม 1111 และ 1111 มีค่าเป็น F ส่วนในฐานสิบคือ 255

แปลงเลขฐานสองเป็น hex ใน Python, JavaScript หรือ Excel ได้อย่างไร?

Python: format(int('11010110', 2), 'X') ได้ D6 ส่วน JavaScript: parseInt('11010110', 2).toString(16) ได้ d6 และ Excel: =BIN2HEX("11010110") แต่ Excel รับได้สูงสุดเพียง 10 บิต

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

ได้ ให้จัดกลุ่มบิตหลังจุดจากซ้ายไปขวา แล้วเติม 0 ทางขวาของกลุ่มสุดท้าย: 0.1011 = 0.B และ 110.01 = 6.4 ในฐานสิบหก