วิธีแปลงเลขฐาน (Binary, Octal, Hex) พร้อมตัวอย่าง
2026-08-13
วิธีแปลงเลขฐาน (Binary, Octal, Hex) พร้อมตัวอย่าง
เลขฐานที่ใช้บ่อย: ฐาน 2 (Binary) ฐาน 8 (Octal) ฐาน 10 (Decimal) และฐาน 16 (Hexadecimal) การแปลงระหว่างฐานเป็นพื้นฐานของคอมพิวเตอร์และเครือข่าย
เลขฐานคืออะไร
- ฐาน 2 (Binary): 0, 1 — ใช้ในคอมพิวเตอร์
- ฐาน 8 (Octal): 0-7 — สิทธิ์ไฟล์ใน Linux
- ฐาน 10 (Decimal): 0-9 — ตัวเลขที่เราใช้ทุกวัน
- ฐาน 16 (Hex): 0-9, A-F — สีในเว็บ, ที่อยู่ MAC
วิธีแปลงจากเลขฐาน 10
หารด้วยฐานซ้ำๆ เก็บเศษ แล้วอ่านเศษจากท้ายมาหน้า
ตัวอย่าง: 13 (ฐาน 10) → ฐาน 2:
- 13 ÷ 2 = 6 เศษ 1
- 6 ÷ 2 = 3 เศษ 0
- 3 ÷ 2 = 1 เศษ 1
- 1 ÷ 2 = 0 เศษ 1
อ่านจากท้าย: 1101
วิธีแปลงเลขฐานอื่นเป็นฐาน 10
คูณแต่ละหลักด้วยฐานยกกำลังตำแหน่ง แล้วรวมกัน
ตัวอย่าง: 1101 (ฐาน 2) = 1×8 + 1×4 + 0×2 + 1×1 = 13
ตารางแปลงเร็ว
| ฐาน 10 | ฐาน 2 | ฐาน 16 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 1 |
| 10 | 1010 | A |
| 15 | 1111 | F |
| 255 | 11111111 | FF |
ใช้กับอะไรบ้าง
- เขียนโปรแกรมและวิเคราะห์ระบบ
- ตั้งสิทธิ์ไฟล์ Linux (chmod 755)
- ทำงานกับสีและเครือข่าย
ลองใช้ เครื่องแปลงเลขฐาน เพื่อแปลงทันที
เทคนิคแปลงเลขฐาน 10 → ฐาน 16 แบบไม่ต้องหารเยอะ
จากประสบการณ์ทำเว็บให้ร้านค้าไทยและคนที่เริ่มหัดเขียนโค้ด ทีมงานเราพบว่าหลายคนติดตรงการแปลงเป็นฐาน 16 เพราะตัวเลขเยอะ หารหลายรอบ เลขจำง่ายคือ แปลงเป็นฐาน 2 ก่อน แล้วจับทีละ 4 บิต
ตัวอย่าง: 200 (ฐาน 10) → ฐาน 2 = 11001000 → แบ่ง 4 บิตจากขวา: 1100 | 1000 → C | 8 = C8
| ฐาน 10 | ฐาน 2 | แบ่ง 4 บิต | ฐาน 16 |
|---|---|---|---|
| 9 | 1001 | 1001 | 9 |
| 48 | 110000 | 0011 0000 | 30 |
| 200 | 11001000 | 1100 1000 | C8 |
| 1000 | 1111101000 | 0011 1110 1000 | 3E8 |
วิธีนี้เร็วกว่าการหารด้วย 16 ซ้ำๆ เพราะเลขฐาน 2 คนส่วนใหญ่จำค่าตำแหน่งได้คล่องกว่า
เลขฐานกับสีในเว็บ: แปลงเองได้จริง
รหัสสี เช่น #FF6600 ที่เห็นในโปรแกรมออกแบบคือฐาน 16 คู่ละ 1 สี (R-G-B) ลองถอดคู่ 66 ดู:
- 6 (ฐาน 16) = 0110 (ฐาน 2) = 102 (ฐาน 10)
แปลว่าสีแดง FF = 255 เต็มที่ เขียว 66 = 102 กลางๆ น้ำเงิน 00 = ไม่มี ก็คือสีส้มค่อนข้างสว่าง นั่นเอง ทีมงานเราว่าการเข้าใจตรงนี้ช่วยให้ปรับสีตอนแก้ CSS ได้เองโดยไม่ต้องเปิดตัวเลือกสีทุกครั้ง
สิทธิ์ไฟล์ Linux: เลขฐาน 8 ที่เจอจริง
คำสั่ง chmod 755 ที่เห็นบ่อยคือฐาน 8 โดยแต่ละหลักแทนเจ้าของไฟล์ กลุ่ม และคนอื่น แต่ละเลขแปลงเป็นฐาน 2 สามหลักได้:
| เลข (ฐาน 8) | ฐาน 2 | สิทธิ์ |
|---|---|---|
| 7 | 111 | อ่าน + เขียน + รัน |
| 5 | 101 | อ่าน + รัน |
| 4 | 100 | อ่านอย่างเดียว |
| 6 | 110 | อ่าน + เขียน |
ดังนั้น 755 = เจ้าของทำได้ทุกอย่าง ส่วนอื่นอ่านและรันได้อย่างเดียว
สิ่งที่ผู้ใช้จริงถามเราบ่อย
ถาม: ทำไมต้องมีหลายฐาน ใช้ฐาน 10 อย่างเดียวไม่ได้เหรอ? ตอบ: คอมพิวเตอร์เก็บข้อมูลเป็นไฟ (มี/ไม่มี) จึงเป็นฐาน 2 โดยธรรมชาติ ฐาน 16 เข้ามาช่วยย่อเลขฐาน 2 ยาวๆ ให้อ่านง่าย เช่น 1 ไบต์ (8 บิต) กลายเป็นแค่ 2 ตัวอักษร ส่วนฐาน 8 เก่ากว่าและยังเหลืออยู่ในระบบ Unix/Linux
ถาม: แปลงเลขมีทศนิยม เช่น 10.5 ยังไง? ตอบ: ส่วนจำนวนเต็มใช้วิธีหารตามปกติ ส่วนทศนิยมใช้วิธีคูณด้วยฐานซ้ำๆ แล้วเก็บเลขหน้าจุด เช่น 0.5 × 2 = 1.0 เก็บ 1 ก็จบ ได้ 0.1 ในฐาน 2 ข้อควรระวังคือทศนิยมบางตัวแปลงแล้วไม่รู้จบ เช่น 0.1 ในฐาน 2 เป็นทศนิยมซ้ำ ซึ่งเป็นที่มาของปัญหาการตัดเลขทศนิยมในโปรแกรม
ถาม: เลขลบแปลงยังไง? ตอบ: ในคอมพิวเตอร์ใช้ระบบ Two’s Complement คือกลับบิตทั้งหมดแล้วบวก 1 เช่น ใน 8 บิต -1 จะเป็น 11111111 เหมาะสำหรับคนที่เรียนเขียนโปรแกรมระดับลึก แต่ถ้าแค่ทำการบ้านแปลงเลข ปกติจะพูดถึงเลขไม่ติดลบเท่านั้น
ถาม: จำได้ว่าเคยเรียนมา แต่ลืมหมดแล้ว เริ่มยังไงดี? ตอบ: ทีมงานเราแนะนำให้จำแค่ตารางเลขฐาน 2 สี่หลักแรก (8-4-2-1) จะแก้โจทย์ได้เกือบทั้งหมด เช่น เห็น 1101 ก็บวก 8+4+0+1 = 13 ทันที ที่เหลือลองเขียนตามตัวอย่างในบทความนี้สัก 2