เครื่องมือ
TH

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

ป้อนเลขฐานสิบเพื่อดูค่าเลขฐานสิบหกได้ทันที พร้อมวิธีหารด้วย 16 ที่คำนวณให้ครบทุกขั้น เลขติดลบยังแสดงเป็น two's complement แบบ 8, 16, 32 หรือ 64 บิตได้ด้วย

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

ในทุกเลขฐาน

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

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

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

  1. ป้อนเลขฐานสิบ หรือรายการตัวเลขบรรทัดละหนึ่งค่า ใช้ได้ทั้งเลขติดลบและทศนิยม เช่น 0.75
  2. ผลลัพธ์ hex จะแสดงทันที พร้อมค่าฐานสองและฐานแปด ตารางวิธีทำทีละขั้นจะแสดงการหารด้วย 16 ทุกครั้งพร้อมเศษ
  3. หากต้องการ hex แบบ two's complement ของเลขติดลบ ให้ติ๊ก มีเครื่องหมาย (two's complement) แล้วเลือกจำนวนบิต: −1 จะเป็น FF ใน 8 บิต และ FFFFFFFF ใน 32 บิต

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

ใช้วิธีหารด้วย 16 ซ้ำ ๆ:

  1. นำตัวเลขหารด้วย 16 แล้วจดเศษไว้ (0–15)
  2. นำผลหารมาหารด้วย 16 อีกครั้ง ทำซ้ำจนผลหารเป็น 0
  3. เขียนเศษแต่ละตัวเป็นเลขฐานสิบหก (10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F) แล้วอ่านจากตัวสุดท้ายย้อนขึ้นไปถึงตัวแรก

ตัวอย่าง: แปลง 6719 เป็นเลขฐานสิบหก

การหารผลหารเศษ
6719 ÷ 1641915 = F
419 ÷ 16263
26 ÷ 16110 = A
1 ÷ 1601

อ่านเศษจากล่างขึ้นบนจะได้ 1A3F ตรวจสอบ: 1 × 4096 + 10 × 256 + 3 × 16 + 15 = 6719

การแปลงเลขทศนิยมเป็นฐานสิบหก

สำหรับส่วนหลังจุดทศนิยม ให้คูณด้วย 16 แทนการหาร: ส่วนที่เป็นจำนวนเต็มของผลคูณแต่ละครั้งคือเลขฐานสิบหกหลักถัดไป 0.75 × 16 = 12 ดังนั้น 0.75 = 0.C ในฐานสิบหก

ทศนิยมบางค่าไม่มีวันจบในฐานสิบหก 0.1 × 16 = 1.6 ได้หลัก 1 จากนั้น 0.6 × 16 = 9.6 ได้หลัก 9 และเลข 9 จะซ้ำไปเรื่อย ๆ ไม่รู้จบ ดังนั้น 0.1 = 0.1999… เครื่องมือนี้จะปัดค่าลักษณะนี้เหลือ 12 หลัก (0.19999999999A) และกำกับด้วยเครื่องหมาย ≈

เลขฐานสิบติดลบในฐานสิบหก (two's complement)

คอมพิวเตอร์เก็บจำนวนลบ −n ขนาด w บิตเป็น 2ʷ − n วิธีหารูปแบบบิตคือนำ 2ʷ บวกกับค่าติดลบ แล้วแปลงผลลัพธ์เป็น hex: −26 ขนาด 8 บิตคือ 256 − 26 = 230 = E6

ฐานสิบ8 บิต16 บิต32 บิต
−1FFFFFFFFFFFFFF
−2FEFFFEFFFFFFFE
−26E6FFE6FFFFFFE6
−12880FF80FFFFFF80

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

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

255 ในฐานสิบหกคือ FF: 255 ÷ 16 = 15 เศษ 15 จากนั้น 15 ÷ 16 = 0 เศษ 15 และเศษทั้งสองเขียนเป็น F จึงได้ FF ซึ่งเป็นค่าสูงสุดของหนึ่งไบต์

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

Excel และ Google Sheets: =DEC2HEX(255) ได้ FF ส่วน Python: format(255, 'X') ได้ FF และ hex(255) ได้ 0xff ส่วน JavaScript: (255).toString(16) ได้ ff ใน Excel เลขติดลบจะออกมาเป็น two's complement 10 หลัก: =DEC2HEX(-1) คือ FFFFFFFFFF

ทำไม 0.1 จึงแปลงเป็น hex ได้ไม่ลงตัว?

เพราะ 1/10 ไม่สามารถเขียนเป็นผลบวกที่จำกัดของ 1/16, 1/256 และต่อ ๆ ไปได้ หลัก hex จึงซ้ำไม่รู้จบ (0.1999…) เหมือนกับ 1/3 = 0.333… ในฐานสิบ ส่วนเศษส่วนที่เกิดจาก 1/2, 1/4, 1/8 หรือ 1/16 จะได้ค่าที่แน่นอน: 0.5 = 0.8 และ 0.75 = 0.C ในฐานสิบหก

แปลงตัวเลขขนาดใหญ่มาก ๆ ได้ไหม?

ได้ เครื่องมือนี้ใช้การคำนวณแบบความแม่นยำไม่จำกัด (arbitrary precision) ดังนั้น 18446744073709551616 (2⁶⁴) จะได้ 10000000000000000 พอดี – เกินขีดจำกัด 2⁵³ ของตัวเลขปกติใน JavaScript ไปมาก