การแปลงเลขฐาน 2, 8, 10 และ 16 พร้อมวิธีคิดและสูตร Excel

30 ตุลาคม, 2026 • คู่มือ • 40 การดู

โต๊ะเรียนที่มีสมุดจดการหารด้วยดินสอ เครื่องคิดเลข และแล็ปท็อปที่เปิดตารางคำนวณว่าง

วิธีแปลงเลขฐาน 2, 8, 10 และ 16 ทีละขั้น ทั้งการกระจายค่าประจำหลัก การหารสั้นแล้วอ่านเศษจากล่างขึ้นบน การจัดกลุ่มบิต และการตรวจคำตอบด้วยสูตร Excel

ถ้าจะแปลงเลขจากฐานอื่นมาเป็นฐานสิบ ให้คูณตัวเลขแต่ละหลักด้วยค่าประจำหลักแล้วนำผลทั้งหมดมาบวกกัน ถ้าจะแปลงจากฐานสิบไปเป็นฐาน 2, 8 หรือ 16 ให้หารสั้นด้วยฐานนั้นซ้ำไปเรื่อย ๆ จนผลหารเป็น 0 แล้วอ่านเศษจากล่างขึ้นบน ส่วนการแปลงระหว่างฐาน 2, 8 และ 16 ด้วยกันเองมีทางลัด คือจัดบิตเป็นกลุ่ม กลุ่มละ 3 หรือ 4 บิต

ตัวอย่างหลักของบทนี้คือเลข 156 ซึ่งเขียนเป็นฐานอื่นได้ว่า 10011100₂, 234₈ และ 9C₁₆ จึงตรวจคำตอบจากแต่ละวิธีเทียบกันได้ และตรวจคำตอบซ้ำได้ด้วยสูตร Excel อย่าง DEC2BIN, BASE และ DECIMAL

ตารางเทียบเลขฐาน 10, 2, 8 และ 16 ตั้งแต่ 0 ถึง 15

เลขฐานสิบ 0 ถึง 15 เขียนเป็นเลขฐานสองได้ไม่เกิน 4 บิต ในตารางนี้เติม 0 ทางซ้ายให้ครบ 4 บิตเพื่อให้เทียบกับฐานสิบหกได้หลักต่อหลัก และเขียนเป็นเลขฐานสิบหกได้ในหลักเดียว ถ้าจำตารางนี้ได้ จะใช้ทางลัดทุกแบบในบทนี้ได้เร็วขึ้นมาก

ฐาน 10ฐาน 2 (4 บิต)ฐาน 8ฐาน 16
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

ฐานสิบหกใช้ตัวอักษร A ถึง F แทนค่า 10 ถึง 15 เพราะแต่ละหลักต้องเป็นสัญลักษณ์ตัวเดียว ถ้าเขียน 12 ไว้ในหลักเดียว ผู้อ่านจะแยกไม่ออกว่าเป็นเลขสองหลักคือ 1 กับ 2 หรือเป็นค่า 12

แปลงเลขฐาน 2, 8 และ 16 เป็นเลขฐานสิบด้วยค่าประจำหลัก

การแปลงเลขฐานใดก็ตามเป็นฐานสิบใช้วิธีกระจายตามค่าประจำหลัก ค่าประจำหลักคือฐานยกกำลัง สำหรับจำนวนเต็ม หลักขวาสุดเป็นกำลัง 0 และกำลังจะเพิ่มขึ้นทีละ 1 เมื่อขยับไปทางซ้าย ส่วนหลักหลังจุดทศนิยมใช้กำลังติดลบ เช่น 2⁻¹, 2⁻² และ 2⁻³ จากนั้นนำตัวเลขแต่ละหลักคูณกับค่าประจำหลักของตำแหน่งนั้นแล้วบวกรวมกัน

ตัวอย่าง 10011100₂ เป็นฐานสิบ

ตัวเลข10011100
ค่าประจำหลัก1286432168421

1×128 + 0×64 + 0×32 + 1×16 + 1×8 + 1×4 + 0×2 + 0×1 = 156

ในฐานสองไม่ต้องเสียเวลาคูณ เพราะแต่ละหลักมีแค่ 0 หรือ 1 บวกเฉพาะค่าประจำหลักของหลักที่เป็น 1 ก็พอ ในตัวอย่างนี้คือ 128 + 16 + 8 + 4 = 156

ตัวอย่าง 234₈ เป็นฐานสิบ

ค่าประจำหลักของฐานแปดจากขวาไปซ้ายคือ 1, 8 และ 64 (8⁰, 8¹, 8²)

2×64 + 3×8 + 4×1 = 128 + 24 + 4 = 156

ตัวอย่าง 9C₁₆ เป็นฐานสิบ

ก่อนคำนวณให้เปลี่ยนตัวอักษรเป็นตัวเลขตามตาราง ในที่นี้ C มีค่าเท่ากับ 12 ส่วนค่าประจำหลักของฐานสิบหกจากขวาไปซ้ายคือ 1 และ 16

9×16 + 12×1 = 144 + 12 = 156

ทั้งสามแบบได้ 156 เท่ากัน แสดงว่า 10011100₂, 234₈ และ 9C₁₆ คือจำนวนเดียวกันที่เขียนในฐานต่างกัน

แปลงเลขฐานสิบเป็นเลขฐานสอง ฐานแปด และฐานสิบหกด้วยการหารสั้น

การแปลงจำนวนเต็มที่ไม่ติดลบจากฐานสิบเป็นฐานอื่นใช้การหารสั้น โดยหารเลขนั้นด้วยฐานที่ต้องการ จดเศษไว้ แล้วนำผลหารมาหารต่อไปจนผลหารเป็น 0 คำตอบคือเศษทั้งหมดเรียงจากแถวล่างสุดขึ้นไปถึงแถวบนสุด ที่ต้องอ่านแบบนี้เพราะเศษตัวแรกที่ได้คือหลักหน่วย จึงต้องอยู่ขวาสุดของคำตอบ

156 เป็นเลขฐานสอง

การหารผลหารเศษ
156 ÷ 2780
78 ÷ 2390
39 ÷ 2191
19 ÷ 291
9 ÷ 241
4 ÷ 220
2 ÷ 210
1 ÷ 201

อ่านเศษจากล่างขึ้นบนได้ 10011100₂ ตรวจกลับด้วย 128 + 16 + 8 + 4 = 156

156 เป็นเลขฐานแปด

การหารผลหารเศษ
156 ÷ 8194
19 ÷ 823
2 ÷ 802

อ่านจากล่างขึ้นบนได้ 234₈ ตรวจกลับด้วย 2×64 + 3×8 + 4 = 156

156 เป็นเลขฐานสิบหก

การหารผลหารเศษ
156 ÷ 16912 (เขียนเป็น C)
9 ÷ 1609

อ่านจากล่างขึ้นบนได้ 9C₁₆ ตรวจกลับด้วย 9×16 + 12 = 156 จุดที่ต้องระวังในฐานสิบหกคือ เศษ 10 ถึง 15 ต้องเปลี่ยนเป็น A ถึง F ทุกครั้งก่อนเขียนคำตอบ

ทางลัดแปลงเลขฐาน 2 เป็นฐาน 8 และฐาน 16 ด้วยการจัดกลุ่มบิต

เลขฐานสองแปลงเป็นฐานแปดได้ด้วยการจัดกลุ่มทีละ 3 บิต และแปลงเป็นฐานสิบหกได้ด้วยการจัดกลุ่มทีละ 4 บิต โดยไม่จำเป็นต้องแปลงผ่านฐานสิบ ทางลัดนี้ใช้ได้เพราะ 8 เท่ากับ 2³ และ 16 เท่ากับ 2⁴ สิ่งสำคัญคือต้องเริ่มจัดกลุ่มจากขวาสุด ถ้ากลุ่มซ้ายสุดมีบิตไม่ครบ ให้เติม 0 ทางซ้ายจนครบ

ฐาน 2 เป็นฐาน 8

10011100 มี 8 บิต เมื่อแบ่งทีละ 3 บิตจากขวาจะได้ 100 กับ 011 และเหลือ 10 ทางซ้าย จึงเติม 0 ข้างหน้าเป็น 010 รวมเป็น 010 011 100 แล้วเปลี่ยนแต่ละกลุ่มเป็นตัวเลขตามตารางได้ 2 3 4 คำตอบคือ 234₈

ฐาน 2 เป็นฐาน 16

10011100 แบ่งทีละ 4 บิตได้ 1001 กับ 1100 พอดี เทียบกับตารางได้ 9 กับ C คำตอบคือ 9C₁₆

ฐาน 8 หรือฐาน 16 กลับเป็นฐาน 2

การแปลงกลับก็ทำย้อนกัน คือเลขฐานแปดหนึ่งหลักแตกเป็น 3 บิต และเลขฐานสิบหกหนึ่งหลักแตกเป็น 4 บิต เช่น 9C₁₆ เขียนได้เป็น 1001 1100 หรือ 10011100₂ และ 234₈ แตกได้เป็น 010 011 100 เมื่อตัด 0 ซ้ายสุดออกจะได้ 10011100₂ เช่นกัน

ฐาน 8 เป็นฐาน 16 ผ่านฐาน 2

ฐานแปดกับฐานสิบหกจัดกลุ่มแปลงหากันตรง ๆ ไม่ได้ วิธีที่สะดวกคือใช้ฐานสองเป็นตัวกลาง เพราะเลขฐานแปดหนึ่งหลักแทนด้วย 3 บิต และเลขฐานสิบหกหนึ่งหลักแทนด้วย 4 บิต อีกวิธีคือแปลงเป็นฐานสิบก่อนแล้วจึงแปลงเป็นฐานสิบหก

  1. เปลี่ยนเลขฐานแปดทีละหลักเป็น 3 บิต เช่น 234₈ ได้ 010 011 100
  2. นำมาต่อกันเป็น 010011100
  3. จัดกลุ่มใหม่ทีละ 4 บิตจากขวา ได้ 1100 กับ 1001 และเหลือ 0 ทางซ้าย จึงเติม 0 ให้ครบกลุ่มเป็น 0000 1001 1100
  4. เปลี่ยนแต่ละกลุ่มตามตารางได้ 0 9 C ตัด 0 ข้างหน้าทิ้ง คำตอบคือ 9C₁₆

ส่วนการแปลงฐานสิบหกเป็นฐานแปดก็ทำย้อนลำดับเดียวกัน คือแตกเป็นกลุ่มละ 4 บิตก่อน แล้วจึงจัดกลุ่มใหม่ทีละ 3 บิต

แปลงเศษทศนิยมเป็นเลขฐานสองด้วยการคูณ 2

ส่วนหลังจุดทศนิยมแปลงเป็นฐานสองด้วยการคูณ 2 ซ้ำ ๆ แทนการหาร ทุกครั้งที่คูณให้จดเลขจำนวนเต็มหน้าจุดไว้ แล้วนำเฉพาะส่วนหลังจุดไปคูณต่อ

การคูณผลคูณจำนวนเต็มที่เก็บไว้
0.625 × 21.251
0.25 × 20.50
0.5 × 21.01

อ่านจากบนลงล่างจะได้ 0.625 = 0.101₂ ตรวจกลับด้วย 1×0.5 + 0×0.25 + 1×0.125 = 0.625 ให้หยุดคูณเมื่อส่วนหลังจุดเป็น 0 แต่บางจำนวนคูณไปเท่าไรก็ไม่ลงตัว กรณีนี้ให้หยุดเมื่อได้จำนวนตำแหน่งตามที่โจทย์กำหนด

ตรวจคำตอบการแปลงเลขฐานด้วยสูตร Excel

คำตอบที่คิดด้วยมือนำไปตรวจใน Excel ได้ด้วยฟังก์ชันสามตัว คือ DEC2BIN ที่แปลงฐานสิบเป็นฐานสอง BASE ที่แปลงฐานสิบเป็นฐานใดก็ได้ตั้งแต่ 2 ถึง 36 และ DECIMAL ที่แปลงกลับเป็นฐานสิบ ขอบเขตในตารางนี้อ้างอิงจากหน้าวิธีใช้อย่างเป็นทางการของ Microsoft ณ วันที่ 29 ตุลาคม 2569 ได้แก่หน้า ฟังก์ชัน DEC2BIN หน้า ฟังก์ชัน BASE และหน้า ฟังก์ชัน DECIMAL

ฟังก์ชันใช้ทำอะไรขอบเขตตามหน้าวิธีใช้ตัวอย่างจาก Microsoft
DEC2BIN(number, [places])ฐานสิบเป็นฐานสองnumber ต้องอยู่ระหว่าง -512 ถึง 511 ถ้าอยู่นอกช่วงนี้จะได้ #NUM!=DEC2BIN(9, 4) ได้ 1001
BASE(Number, Radix, [Min_length])ฐานสิบเป็นฐาน 2 ถึง 36Number เป็นจำนวนเต็มตั้งแต่ 0 แต่ต้องน้อยกว่า 2⁵³ ส่วน Radix อยู่ระหว่าง 2 ถึง 36 และ Min_length ไม่เกิน 255=BASE(100,16) ได้ 64
DECIMAL(text, radix)ฐานอื่นกลับเป็นฐานสิบtext ยาวไม่เกิน 255 อักขระ ไม่แยกตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และ radix อยู่ระหว่าง 2 ถึง 36=DECIMAL("FF",16) ได้ 255

ถ้าใส่ค่าที่ไม่ใช่ตัวเลขใน DEC2BIN หรือ BASE จะได้ #VALUE! นอกจากนี้ BASE จะตัดส่วนทศนิยมของ Number ทิ้ง จึงใช้ตรวจการแปลงเศษทศนิยมแบบในหัวข้อก่อนไม่ได้ ส่วน DECIMAL จะเริ่มเสียความแม่นยำเมื่อค่าเกิน 2⁵³ ตามที่หน้าวิธีใช้ระบุ สำหรับ BASE หน้าวิธีใช้ระบุว่าใช้ได้ใน Microsoft 365 (Windows และ Mac) รวมถึง Excel 2024, 2021, 2019 และ 2016

ถ้าโจทย์ต้องการคำตอบที่มีจำนวนบิตตายตัว ให้ใส่อาร์กิวเมนต์ตัวที่สามเพื่อเติม 0 ทางซ้าย เช่น =BASE(16,2) ได้ 10000 ส่วน =BASE(16,2,8) ได้ 00010000 ถ้าผลลัพธ์ยาวกว่าค่าที่กำหนด BASE จะแสดงผลเต็มตามปกติ เพราะค่านี้เป็นความยาวขั้นต่ำ ส่วน DEC2BIN ใช้ places เติม 0 ได้เหมือนกัน แต่ถ้าผลลัพธ์ยาวกว่าจำนวนหลักที่กำหนด Excel จะแสดง #NUM!

DEC2BIN รับเลขติดลบได้ด้วย โดยหน้าวิธีใช้ระบุว่าผลจะเป็นเลขฐานสอง 10 หลักในรูปส่วนเติมเต็มสอง (two's complement) ซึ่งบิตซ้ายสุดเป็นบิตเครื่องหมาย และค่า places จะไม่มีผล ตัวอย่างในหน้าวิธีใช้คือ =DEC2BIN(-100) ได้ 1110011100 ส่วน BASE รับเฉพาะเลขตั้งแต่ 0 ขึ้นไป

ตรวจเลข 156 ทั้งสี่ฐานใน Excel

ผลในตารางนี้คำนวณจากเลขคณิตในบทความ ลองพิมพ์สูตรลงในไฟล์ของคุณเองแล้วเทียบดู

สูตรผลที่ควรได้หมายเหตุ
=DEC2BIN(156)10011100ใช้ได้เพราะ 156 ไม่เกิน 511
=BASE(156,8)234ใช้ BASE สำหรับฐานแปด
=BASE(156,16)9Cใช้ BASE สำหรับฐานสิบหก
=DECIMAL("9C",16)156แปลงกลับเป็นฐานสิบ
=DECIMAL("10011100",2)156ตรวจคำตอบฐานสอง

ข้อผิดพลาดที่พบบ่อยในการแปลงเลขฐาน

ข้อผิดพลาดที่พบบ่อยในการแปลงเลขฐานคือ อ่านเศษผิดทิศ ไม่เติม 0 ก่อนจัดกลุ่มบิต เขียนเศษ 10 ถึง 15 เป็นเลขสองหลักในฐานสิบหก และใช้ DEC2BIN กับเลขที่เกิน 511 ข้อผิดพลาดเหล่านี้มักสังเกตได้จากรูปแบบของคำตอบ ถ้าคำตอบดูแปลก ๆ ลองเทียบกับตารางนี้ก่อนจะลงมือทำใหม่ทั้งข้อ

ข้อผิดพลาดอาการวิธีแก้
อ่านเศษจากบนลงล่าง156 กลายเป็น 00111001อ่านจากเศษตัวสุดท้ายย้อนขึ้นไป
ไม่เติม 0 ทางซ้ายก่อนจัดกลุ่ม10011100 ถูกแบ่งจากซ้ายเป็น 100 111 00 กลุ่มท้ายจึงไม่ครบ 3 บิตเริ่มแบ่งจากขวา แล้วเติม 0 ทางซ้ายให้ครบกลุ่ม
เขียนเศษ 12 เป็น “12” ในฐาน 16ได้ 912 แทนที่จะเป็น 9Cใช้ A ถึง F แทนค่า 10 ถึง 15
ใช้ DEC2BIN กับเลขที่เกิน 511Excel แสดง #NUM!ใช้ =BASE(เลข,2) แทน

การแปลงข้อความเป็นเลขฐานสองต่างจากการแปลงจำนวน

การแปลงข้อความเป็นเลขฐานสองคือการแปลงค่าไบต์ของข้อความทีละไบต์ ไม่ใช่การเปลี่ยนจำนวนจากฐานหนึ่งไปอีกฐาน Digily Link เป็นผลิตภัณฑ์ของเรา และเครื่องมือ “ตัวแปลงเลขฐานสอง” บน digily.link ก็ทำงานแบบนี้ คือแปลง “ข้อความ” เป็นรหัสไบต์ ไม่ได้แปลงจำนวน ถ้าพิมพ์ 156 ลงไป เครื่องมือจะแปลงอักขระ 1, 5 และ 6 ทีละตัว ผลที่ได้จึงเป็น 110001 110101 110110 ไม่ใช่ 10011100

เครื่องมือ “ตัวแปลงเลขฐานสิบหก” และ “ตัวแปลงเลขทศนิยม” บนเว็บเดียวกันก็ทำงานกับข้อความเช่นกัน ชื่อ “ตัวแปลงเลขทศนิยม” อาจทำให้เข้าใจว่าใช้แปลงเศษทศนิยม แต่ที่จริงเครื่องมือนี้ให้ค่าฐานสิบของแต่ละไบต์ในข้อความ โจทย์คณิตศาสตร์แบบในบทความนี้จึงควรคิดด้วยมือแล้วตรวจด้วยสูตร Excel ในหัวข้อข้างต้น สำหรับข้อความภาษาไทยที่เข้ารหัสแบบ UTF-8 อักขระหนึ่งตัวอาจมีหลายไบต์ เครื่องมือจึงอาจแสดงเลขฐานสองหลายชุดสำหรับอักขระตัวเดียว และผลแต่ละชุดไม่ได้เติม 0 ทางซ้ายให้ครบ 8 บิต

ถ้าต้องการแปลงข้อความเป็นเลขฐานสอง ใช้ตัวแปลงเลขฐานสองสำหรับแปลงข้อความเป็นรหัสไบต์ได้

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

แปลงเลขฐาน 8 เป็นเลขฐาน 16 ทำอย่างไร

วิธีที่สะดวกคือแปลงผ่านฐานสอง เช่น 375₈ แตกแต่ละหลักเป็น 3 บิตได้ 011 111 101 นำมาต่อกันแล้วจัดกลุ่มใหม่ทีละ 4 บิตจากขวา โดยเติม 0 ทางซ้ายให้ครบกลุ่ม ได้ 0000 1111 1101 เมื่อเทียบตารางจะได้ FD₁₆ ตรวจกลับได้ทั้งสองทาง เพราะ 3×64 + 7×8 + 5 = 253 และ 15×16 + 13 = 253 เท่ากัน

อ่านเศษจากล่างขึ้นบนหรือบนลงล่าง

สำหรับจำนวนเต็มที่แปลงด้วยการหารสั้น ให้อ่านเศษจากล่างขึ้นบน แต่สำหรับเศษทศนิยมที่แปลงด้วยการคูณ ให้อ่านจำนวนเต็มที่ได้จากบนลงล่าง ทั้งสองวิธีอ่านผลคนละทิศทางเพราะหลักแรกที่ได้จากการหารคือหลักขวาสุด ส่วนหลักแรกที่ได้จากการคูณคือหลักที่อยู่ถัดจากจุดทศนิยมทันที

ทำไมเลข 1 ไบต์เขียนเป็นฐานสิบหกได้ 2 หลักพอดี

1 ไบต์มี 8 บิต แบ่งเป็นกลุ่มละ 4 บิตได้สองกลุ่มพอดี และแต่ละกลุ่มตรงกับเลขฐานสิบหกหนึ่งหลัก เมื่ออ่านเป็นจำนวนเต็มแบบไม่มีเครื่องหมาย ค่าสูงสุดของ 1 ไบต์คือ 11111111₂ ซึ่งเขียนได้เป็น FF₁₆ หรือ 255 ในฐานสิบ ตรงกับตัวอย่าง =DECIMAL("FF",16) ในหน้าวิธีใช้ของ Microsoft

0 จาก 0 การให้คะแนน