---
title: BIN2OCT – แปลงเลขฐานสองเป็นฐานแปด
url: https://www.thepexcel.com/functions/excel/engineering/bin2oct/
type: function-explainer
program: Excel
syntax: "=BIN2OCT(number, [places])"
date: 2025-12-02
updated: 2025-12-24
scores:
  popularity: 3
  difficulty: 5
  usefulness: 4
---

# BIN2OCT – แปลงเลขฐานสองเป็นฐานแปด

> ฟังก์ชั่นที่แปลงเลขฐานสอง (Binary) เป็นเลขฐานแปด (Octal) โดยรองรับการเติมศูนย์นำหน้า

## คำอธิบาย

ฟังก์ชั่นที่แปลงเลขฐานสอง (Binary) เป็นเลขฐานแปด (Octal) โดยรองรับการเติมศูนย์นำหน้า

## Syntax

```excel
=BIN2OCT(number, [places])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| number | Yes | Text or Number |  | เลขฐานสองที่ต้องการแปลง สามารถเป็นข้อความหรือตัวเลข โดยมีความยาวสูงสุด 10 หลัก |
| places | No | Number | Auto (ไม่มีศูนย์นำหน้า) | จำนวนหลักของผลลัพธ์ที่ต้องการ (เติมศูนย์นำหน้าหากจำเป็น) ถ้าไม่ระบุ ผลลัพธ์จะแสดงเพียงจำนวนหลักที่จำเป็น |

## ตัวอย่าง

### 1. แปลงเลขฐานสองธรรมชาติ

```excel
=BIN2OCT("1001")
```

**ผลลัพธ์:** `11`

1001 ในฐานสอง = 9 ในฐานสิบ = 11 ในฐานแปด (1×8 + 1×1)

### 2. เติมศูนย์นำหน้าให้ครบ 4 หลัก

```excel
=BIN2OCT("1001", 4)
```

**ผลลัพธ์:** `0011`

ผลลัพธ์เดียวกันแต่บังคับให้แสดงเป็น 4 หลัก พอใจในการแสดงผลที่เป็นทางการ

### 3. แปลงค่าสิทธิ์ไฟล์ (Unix Permissions)

```excel
=BIN2OCT("110100101")
```

**ผลลัพธ์:** `645`

รหัส 645 ในระบบ Unix หมายถึง rw-r-x-x (Owner อ่าน-เขียน, Group อ่าน, Others ประมวลผล)

### 4. ตัวอย่างจำนวนสูงสุด

```excel
=BIN2OCT("1111111111")
```

**ผลลัพธ์:** `1777`

10 บิต 1 ทั้งหมด = 1023 ฐานสิบ = 1777 ฐานแปด (สูงสุดที่เป็นบวก)

## หมายเหตุเพิ่มเติม

- ใช้เครื่องหมาย quotes ครอบเลขฐานสองเสมอ ("1001" ไม่ใช่ 1001) เพื่อหลีกเลี่ยงการสับสนกับตัวเลขทั่วไป

- ถ้าต้องการแสดงสิทธิ์ไฟล์ Unix ให้ใช้ places=3 เพื่อให้ได้ผลลัพธ์ 3 หลักมาตรฐาน เช่น 755 หรือ 644

- ถ้า places ไม่ใช่จำนวนเต็ม Excel จะตัดส่วนทศนิยมออก (truncate) ซึ่งต่างจากการปัดเศษ

- สำหรับตัวเลขติดลบ ผลลัพธ์จะมี 10 หลักเสมอ และไม่สามารถเปลี่ยนได้ด้วย places

- ผสมผสาน BIN2OCT กับ BIN2HEX เมื่อต้องการแปลงไปยังฐานต่าง ๆ และเปรียบเทียบผลลัพธ์

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

**Q: ทำไมผลลัพธ์ของฟังก์ชั่นนี้ต้องเป็นข้อความใน quotes?**

เพราะว่าเลขฐานสองที่เขียนโดยไม่มี quotes อาจถูก Excel ตีความว่าเป็นตัวเลขทั่วไป ตัวอย่างเช่น 1001 อาจมองว่าเป็นพันเก้า แทนที่จะเป็นเลขฐานสอง ดังนั้นเขียนเป็น "1001" เพื่อให้แน่ใจว่า Excel เข้าใจว่าเป็นเลขฐานสอง

**Q: ถ้าฉันป้อนตัวเลขที่มากกว่า 10 หลักจะเกิดอะไรขึ้น?**

Excel จะแสดง #NUM! error เนื่องจากฟังก์ชั่นนี้รองรับเลขฐานสองสูงสุด 10 หลัก ซึ่งสอดคล้องกับ 9 บิตข้อมูลบวก 1 บิตเครื่องหมาย

**Q: จะใช้ BIN2OCT กับตัวเลขติดลบได้ไหม?**

ได้ โดยใช้ระบบ Two's Complement (เลขประกอบด้วย 1 บิตเครื่องหมายและ 9 บิตขนาด) ผลลัพธ์จะเป็นเลขฐานแปด 10 หลักที่แสดงค่าติดลบ

**Q: ความแตกต่างระหว่าง places=0 กับไม่ระบุ places คืออะไร?**

ไม่มีความแตกต่าง ทั้งสองแบบจะแสดงผลลัพธ์เพียงจำนวนหลักที่จำเป็น โดยไม่มีศูนย์นำหน้า

**Q: ใช้ places ได้มากกว่า 10 หลักไหม?**

ได้ แต่ผลลัพธ์จะมีศูนย์นำหน้าเพิ่มเติม สำหรับตัวเลขปกติ สำหรับตัวเลขติดลบจะใช้ 10 หลักเสมอ ไม่ว่า places จะเป็นเท่าไหร่

## ฟังก์ชันที่เกี่ยวข้อง

- [OCT2BIN – แปลงฐาน 8 เป็นฐาน 2](https://www.thepexcel.com/functions/excel/engineering/oct2bin/)
- [BIN2DEC – แปลงเลขฐานสองเป็นฐานสิบ](https://www.thepexcel.com/functions/excel/engineering/bin2dec/)

## แหล่งข้อมูลเพิ่มเติม

- [Official Microsoft Documentation - BIN2OCT](https://support.microsoft.com/en-us/office/bin2oct-function-0a4e01ba-ac8d-4158-9b29-16c25c4c23fd) _(official)_
- [Number Systems and Base Conversion Guide](https://support.microsoft.com/en-us/office/bin2dec-function-63905b57-b3a0-453d-99f4-647bb519cd6c) _(official)_
- [Excel Number System Functions Overview](https://support.microsoft.com/en-us/office/conversion-functions-reference-e1a83e7d-87c4-42cc-856a-e3bf51169eb2) _(official)_

---

_Source: [https://www.thepexcel.com/functions/excel/engineering/bin2oct/](https://www.thepexcel.com/functions/excel/engineering/bin2oct/)_
