โปรแกรมแปลงเลขฐาน 2, 8, 10, 16 และฐานใดก็ได้ (2–36)

แปลงฐานสิบเป็นฐาน b ให้หารด้วย b ซ้ำ ๆ แล้วอ่านเศษจากล่างขึ้นบน ส่วนการแปลงฐาน b เป็นฐานสิบให้คูณแต่ละหลักด้วย b ยกกำลังตำแหน่งแล้วบวกกัน เช่น 156₁₀ = 10011100₂ = 234₈ = 9C₁₆ และ 10011100₂ = 128 + 16 + 8 + 4 = 156

อัปเดต ใช้ฟรี ไม่ต้องสมัครคำนวณในเครื่องของคุณ

ใส่ทศนิยมหรือเครื่องหมายลบได้ ใช้ 0x / 0b / 0o นำหน้าได้ (ตัวอักษร A–Z แทนค่า 10–35)
หลัก
ใช้เมื่อเศษทศนิยมแปลงแล้วไม่รู้จบ

ช่องตัวเลขพิมพ์สูตรได้ เช่น 25000*12 · ผลลัพธ์อัปเดตทันทีเมื่อแก้ตัวเลข

ผลลัพธ์

วิธีใช้แปลงเลขฐาน

  1. พิมพ์ตัวเลข เช่น 156 หรือ 1011.101 หรือ 9C (ตัวพิมพ์เล็กหรือใหญ่ก็ได้)
  2. เลือกฐานตั้งต้นและฐานปลายทาง ถ้าเป็นฐานอื่น เช่น ฐานห้า ให้เลือก “กำหนดเอง” แล้วใส่ 2–36
  3. ดูผลลัพธ์ในฐาน 2, 8, 10, 16 พร้อมวิธีทำแบบหารสั้น การกระจายค่าประจำหลัก และการจัดกลุ่มบิต

หลักการแปลงเลขฐาน

(dₙ…d₁d₀)ᵦ = dₙ×bⁿ + … + d₁×b¹ + d₀×b⁰

  • ฐานสิบ → ฐาน b (จำนวนเต็ม): หารด้วย b ไปเรื่อย ๆ จนผลหารเป็น 0 แล้วนำเศษมาเรียงจากล่างขึ้นบน
  • ฐานสิบ → ฐาน b (ทศนิยม): คูณส่วนทศนิยมด้วย b ซ้ำ ๆ แล้วเก็บจำนวนเต็มหน้าจุดจากบนลงล่าง
  • ฐาน b → ฐานสิบ: คูณแต่ละหลักด้วยค่าประจำหลัก (b ยกกำลังตำแหน่ง เริ่มจาก 0 ทางขวา) แล้วบวกกัน หลักหลังจุดใช้กำลังติดลบ
  • ฐานสอง ↔ ฐานแปด/สิบหก: จัดกลุ่มบิตทีละ 3 หลัก (ฐานแปด) หรือทีละ 4 หลัก (ฐานสิบหก) เริ่มจากจุดทศนิยม
ฐานสิบฐานสองฐานแปดฐานสิบหก
0000000
5010155
81000108
10101012A
12110014C
15111117F

ตัวอย่างการคำนวณ

โจทย์: แปลง 156₁₀ เป็นฐานสอง

  1. 156 ÷ 2 = 78 เศษ 0
  2. 78 ÷ 2 = 39 เศษ 0
  3. 39 ÷ 2 = 19 เศษ 1
  4. 19 ÷ 2 = 9 เศษ 1
  5. 9 ÷ 2 = 4 เศษ 1
  6. 4 ÷ 2 = 2 เศษ 0
  7. 2 ÷ 2 = 1 เศษ 0
  8. 1 ÷ 2 = 0 เศษ 1

อ่านเศษจากล่างขึ้นบนได้ 10011100₂ จัดกลุ่มทีละ 4 บิตเป็น 1001 1100 = 9 และ C จึงได้ 9C₁₆

ตรวจกลับ: 1×2⁷ + 1×2⁴ + 1×2³ + 1×2² = 128 + 16 + 8 + 4 = 156 ✓

เลขติดลบในคอมพิวเตอร์: two’s complement

คอมพิวเตอร์เก็บจำนวนเต็มติดลบด้วยวิธี two’s complement (ส่วนเติมเต็มฐานสอง) ในจำนวนบิตที่กำหนด เช่น 8 บิต วิธีหาคือเขียนค่าสัมบูรณ์เป็นฐานสองให้ครบจำนวนบิต กลับบิตทุกตัว (0↔1) แล้วบวก 1

ตัวอย่าง −5 แบบ 8 บิต: 5 = 0000 0101 → กลับบิต 1111 1010 → บวก 1 ได้ 1111 1011 (= FB₁₆) ซึ่งเท่ากับ 2⁸ − 5 = 251 เมื่อมองแบบไม่มีเครื่องหมาย

จำนวนบิตช่วงค่า signedช่วงค่า unsigned
8 บิต−128 ถึง 1270 ถึง 255
16 บิต−32,768 ถึง 32,7670 ถึง 65,535
32 บิต−2,147,483,648 ถึง 2,147,483,6470 ถึง 4,294,967,295

ทำไมทศนิยมบางตัวแปลงเป็นฐานสองไม่จบ

ทศนิยมฐานสิบจะแปลงเป็นฐานสองได้จบก็ต่อเมื่อเขียนเป็นเศษส่วนที่ตัวส่วนเป็นกำลังของ 2 ได้ เช่น 0.375 = 3/8 = 0.011₂ แต่ 0.1 = 1/10 มีตัวประกอบ 5 อยู่ในตัวส่วน จึงได้ 0.0(0011)₂ ซ้ำไม่รู้จบ นี่คือเหตุผลที่ 0.1 + 0.2 ในโปรแกรมคอมพิวเตอร์ได้ 0.30000000000000004

โปรแกรมนี้คำนวณเศษส่วนแบบแม่นตรง ถ้าพบรูปแบบซ้ำจะแสดงส่วนที่ซ้ำไว้ในวงเล็บ เช่น 0.0(0011) หมายถึง 0.0001100110011…

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

แปลงเลขฐานสิบเป็นฐานสองทำอย่างไร

นำเลขฐานสิบหารด้วย 2 ไปเรื่อย ๆ จดเศษ (0 หรือ 1) ทุกครั้งจนผลหารเป็น 0 แล้วอ่านเศษจากล่างขึ้นบน เช่น 13 → 1101₂

เลขฐานสิบหก A–F มีค่าเท่าไร

A = 10, B = 11, C = 12, D = 13, E = 14 และ F = 15 ฐานที่มากกว่า 16 ก็ใช้ตัวอักษรต่อไปจนถึง Z = 35 (ฐาน 36)

ทำไมโปรแกรมเมอร์ชอบใช้เลขฐานสิบหก

เพราะเลขฐานสิบหก 1 หลักแทนบิตได้พอดี 4 บิต อ่านและเขียนค่าไบต์ได้สั้นกว่าฐานสอง เช่น 1111 1111₂ = FF₁₆ = 255

แปลงเลขฐานห้าหรือฐานอื่นได้ไหม

ได้ เลือก “กำหนดเอง” แล้วใส่ฐาน 2 ถึง 36 เช่น 41₁₀ = 131₅ เพราะ 1×25 + 3×5 + 1 = 41

แหล่งอ้างอิง