# แปลงเลขฐาน

> ตัวแปลงระบบตัวเลข BIN/HEX/DEC/OCT สำหรับนักพัฒนา. รองรับ Two's Complement, ความกว้าง 8-64 บิต และตัวเลขขนาดใหญ่. ใช้งานออนไลน์ ฟรี! ครบวงจร.

URL: https://acrafto.com/th/tua-plaeng-rabop-tua-lek/

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

โลกของคอมพิวเตอร์ทำงานด้วยศูนย์และหนึ่ง แต่ผู้คนคิดเป็นเลขฐานสิบ แล้วนักพัฒนาล่ะ? พวกเขาต้องเข้าใจทุกอย่างที่อยู่ระหว่างนั้น ไม่ว่าคุณจะดีบั๊กโค้ดระดับต่ำ, ตั้งค่าสีใน CSS, คำนวณ IP masks หรือแก้ปัญหาในวิชาวิทยาการคอมพิวเตอร์ คุณก็ต้องแปลงตัวเลขระหว่างระบบฐานต่างๆ

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

## ตัวแปลงระบบตัวเลขนี้ทำอะไรได้บ้าง?

ในการพัฒนาวิดเจ็ตนี้ เรามุ่งเน้นที่การแก้ไขปัญหาที่พบบ่อยที่สุดของนักพัฒนาโปรแกรม:

1. **ตอบสนองแบบเรียลไทม์:** ไม่มีปุ่ม “คำนวณ” เพียงแค่เริ่มพิมพ์ลงในช่อง HEX คุณก็จะเห็นค่า BIN และ DEC เปลี่ยนแปลงทันที
2. **รองรับจำนวนลบ (Signed Integers):** ตัวแปลงออนไลน์ส่วนใหญ่จะล้มเหลวเมื่อคุณพิมพ์ `-5` แต่ของเราไม่เป็นเช่นนั้น ด้วยตัวเลือก **ความกว้างบิต** (8, 16, 32, 64 บิต) เราจำลองพฤติกรรมของโปรเซสเซอร์โดยใช้ Two’s Complement
3. **ความสามารถในการอ่านโค้ดไบนารี:** การมอง `1110101011011110` ทำให้ปวดตา เครื่องมือของเราสามารถจัดรูปแบบเอาต์พุตโดยอัตโนมัติทุก 4 บิต (nibbles) เป็น `1110 1010 1101 1110` ซึ่งช่วยลดข้อผิดพลาดในการคัดลอกได้อย่างมาก
4. **รองรับ BigInt:** ต้องการแปลงตัวเลข 64 บิต หรือค่าแฮชหรือไม่? JavaScript มาตรฐานจำกัดอยู่ที่ $2^{53}$ แต่เอนจินของเราสามารถจัดการตัวเลขที่มีความยาวเท่าใดก็ได้ในโหมด “Unsigned”

---

## คู่มือระบบตัวเลข: ควรใช้แบบใดเมื่อใด?

### 1\. เลขฐานสิบ (DEC - Decimal)

- **ฐาน:** 10 (ตัวเลข 0-9)
- **การใช้งาน:** ชีวิตประจำวัน, การเงิน, การนับวนลูปในโค้ด
- **ข้อเท็จจริง:** คอมพิวเตอร์ไม่เข้าใจ ต้องแปลงเป็นไบนารีก่อน

### 2\. เลขฐานสอง (BIN - Binary)

- **ฐาน:** 2 (ตัวเลข 0, 1)
- **การใช้งาน:** Machine code, Logical gates, การทำ IP masking
- **เคล็ดลับ:** แต่ละหลักแทน 1 บิต 8 บิต เท่ากับ 1 ไบต์ (Byte)

### 3\. เลขฐานสิบหก (HEX - Hexadecimal)

- **ฐาน:** 16 (ตัวเลข 0-9, ตัวอักษร A-F)
- **การใช้งาน:** การเขียนโค้ดไบนารีแบบกระชับ อักขระ HEX หนึ่งตัวแทน 4 บิต (nibble) สองอักขระ (เช่น `FF`) แทนไบต์เต็ม
- **ตัวอย่าง:**
  - สีบนเว็บ: `#FF5733` (แดง, เขียว, น้ำเงิน)
  - MAC Address: `00:1A:2B:3C:4D:5E`
  - Memory dumps

### 4\. เลขฐานแปด (OCT - Octal)

- **ฐาน:** 8 (ตัวเลข 0-7)
- **การใช้งาน:** คอมพิวเตอร์รุ่นเก่า, ปัจจุบันส่วนใหญ่ใช้ใน **สิทธิ์ของ Linux** (chmod)
- **ตัวอย่าง:** คำสั่ง `chmod 755` ตั้งค่าสิทธิ์เป็น rwx-rx-rx (อ่าน, เขียน, รัน)

---

## วิธีจัดการกับจำนวนเต็มลบอย่างถูกต้อง?

นี่คือฟังก์ชันที่ซับซ้อนที่สุดของตัวแปลงของเรา ในหน่วยความจำคอมพิวเตอร์ไม่มีเครื่องหมาย “ลบ” ในการจัดเก็บจำนวนลบ คอมพิวเตอร์มักจะใช้วิธี **Two’s Complement**

แต่ผลลัพธ์ของการแปลงจำนวนลบขึ้นอยู่กับจำนวนบิตที่ตัวแปรสำรองไว้ ดังนั้นคุณจะพบสวิตช์ **ความลึกบิต** ที่แถบด้านบน

### ตัวอย่าง: ตัวเลข -5 มีลักษณะอย่างไร?

ลองด้วยตัวคุณเองในตัวแปลงของเรา:

1. ตั้งค่าความกว้างเป็น **8-bit**
   - ป้อนใน DEC: `-5`
   - ผลลัพธ์ HEX: `FB`
   - ผลลัพธ์ BIN: `1111 1011`
   - *คำอธิบาย:* $256 - 5 = 251$ (ซึ่งคือ FB)
2. ตั้งค่าความกว้างเป็น **16-bit**
   - ป้อนใน DEC: `-5`
   - ผลลัพธ์ HEX: `FFFB`
   - *คำอธิบาย:* เนื่องจากมีพื้นที่มากขึ้น, “หนึ่ง” จะเติมเต็มพื้นที่ที่เหลือทางด้านซ้าย
3. ตั้งค่าความกว้างเป็น **เฉพาะจำนวนเต็มบวก (Unsigned)**
   - หากคุณป้อน `-5` ช่องจะเปลี่ยนเป็นสีแดง โหมดนี้ไม่รองรับจำนวนลบ เนื่องจากจะต้องการเลขหนึ่งจำนวนอนันต์

> **เคล็ดลับสำหรับมืออาชีพ:** หากคุณทำงานกับสีหรือที่อยู่ IP ให้ใช้โหมด **“เฉพาะจำนวนเต็มบวก”** เสมอ หากคุณกำลังทำงานที่เกี่ยวข้องกับ C/C++ หรือ Assembler ให้เปลี่ยนเป็น **32-bit** หรือ **64-bit**

---

## ตารางการแปลงอย่างรวดเร็ว (Cheat Sheet)

เพื่อการอ้างอิงอย่างรวดเร็ว นี่คือค่าพื้นฐานที่ “IT” ทุกคนควรรู้จำให้ขึ้นใจ

| เลขฐานสิบ (DEC) | เลขฐานสิบหก (HEX) | เลขฐานสอง (BIN) | หมายเหตุ |
| :--- | :--- | :--- | :--- |
| **0** | 00 | 0000 | ศูนย์ |
| **1** | 01 | 0001 |  |
| **10** | 0A | 1010 |  |
| **15** | 0F | 1111 | ค่าสูงสุดสำหรับ 4 บิต (Nibble) |
| **16** | 10 | 0001 0000 |  |
| **127** | 7F | 0111 1111 | ค่าสูงสุดสำหรับ signed 8-bit (char) |
| **255** | FF | 1111 1111 | ค่าสูงสุดสำหรับ unsigned 8-bit (byte) |
| **65 535** | FFFF | … | ค่าสูงสุดสำหรับ 16-bit |

---

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

### "ความลึกบิต" หมายความว่าอย่างไร?

ระบุว่าเราได้สำรองหน่วยความจำไว้เท่าใดสำหรับตัวเลขนั้น

- **8-bit:** ค่า 0 ถึง 255 (หรือ -128 ถึง 127) เทียบเท่ากับประเภท `char` หรือ `byte`
- **16-bit:** ค่าสูงสุด 65,535 เทียบเท่ากับประเภท `short`
- **32-bit:** `int` มาตรฐานในภาษาโปรแกรมสมัยใหม่
- **64-bit:** สำหรับตัวเลขขนาดใหญ่มาก (`long long`, `BigInt`)

### ทำไมตัวเลข 255 ใน HEX ถึงเขียนเป็น FF?

เลขฐานสิบหกมี 16 หลัก (0-9 และ A-F) โดย F มีค่าเท่ากับ 15 ตัวเลข `FF` คำนวณได้ดังนี้: $(15 \\times 16^1) + (15 \\times 16^0) = 240 + 15 = 255$

### จะแปลงสี HEX เป็น RGB ได้อย่างไร?

สีบนเว็บ เช่น `#E05412` ประกอบด้วยสามไบต์: แดง (E0), เขียว (54), น้ำเงิน (12) ป้อน "E0" ในช่อง HEX ของตัวแปลงของเรา -> คุณจะได้ 224 ป้อน "54" -> คุณจะได้ 84 ป้อน "12" -> คุณจะได้ 18 ผลลัพธ์คือ `rgb(224, 84, 18)`

### 0x, 0b หรือ 0o หมายถึงอะไร?

เพื่อให้นักพัฒนาแยกแยะระบบตัวเลข พวกเขาใช้คำนำหน้าดังนี้:

- `0x` = เลขฐานสิบหก (เช่น 0xFF)
- `0b` = เลขฐานสอง (เช่น 0b101)
- `0o` = เลขฐานแปด (เช่น 0o755)

ตัวแปลงของเราจะรู้จักสัญลักษณ์เหล่านี้ แต่ไม่จำเป็นต้องพิมพ์

### ทำไมช่องถึงเปลี่ยนเป็นสีแดง?

นี่คือฟังก์ชันตรวจสอบความถูกต้องของข้อมูล ซึ่งหมายความว่าคุณได้ป้อนอักขระที่ไม่เป็นของระบบตัวเลขนั้นๆ ตัวอย่างเช่น:

- ตัวอักษร "G" ใน HEX (อนุญาตเฉพาะ A-F)
- ตัวเลข "2" ใน BIN (อนุญาตเฉพาะ 0 และ 1)
- ตัวเลข "8" ใน OCT (อนุญาตเฉพาะ 0-7)

แก้ไขข้อผิดพลาดในการพิมพ์ แล้วการคำนวณจะดำเนินต่อไป

## Other languages

- Čeština (cs): [Převodník číselných soustav](https://acrafto.com/cs/prevody-ciselnych-soustav/) ([Markdown](https://acrafto.com/cs/prevody-ciselnych-soustav/index.md))
- Slovenčina (sk): [Prevodník číselných sústav](https://acrafto.com/sk/prevodnik-ciselnych-sustav/) ([Markdown](https://acrafto.com/sk/prevodnik-ciselnych-sustav/index.md))
- English (en): [Number System Converter](https://acrafto.com/en/number-system-converter-negative-numbers/) ([Markdown](https://acrafto.com/en/number-system-converter-negative-numbers/index.md))
- Deutsch (de): [Zahlensystem-Konverter](https://acrafto.com/de/zahlensystem-konverter-negative-zahlen/) ([Markdown](https://acrafto.com/de/zahlensystem-konverter-negative-zahlen/index.md))
- Français (fr): [Convertisseur de bases numériques](https://acrafto.com/fr/convertisseur-bases-numeriques/) ([Markdown](https://acrafto.com/fr/convertisseur-bases-numeriques/index.md))
- Español (es): [Conversor de bases numéricas](https://acrafto.com/es/convertidor-sistemas-numericos-numeros-negativos/) ([Markdown](https://acrafto.com/es/convertidor-sistemas-numericos-numeros-negativos/index.md))
- Italiano (it): [Convertitore di basi numeriche](https://acrafto.com/it/convertitore-basi-numeriche/) ([Markdown](https://acrafto.com/it/convertitore-basi-numeriche/index.md))
- Português (pt): [Conversor de bases numéricas](https://acrafto.com/pt/conversor-sistemas-numericos-negativos/) ([Markdown](https://acrafto.com/pt/conversor-sistemas-numericos-negativos/index.md))
- Nederlands (nl): [Getallenstelsels omrekenen](https://acrafto.com/nl/getallenstelsel-converter/) ([Markdown](https://acrafto.com/nl/getallenstelsel-converter/index.md))
- Polski (pl): [Konwerter systemów liczbowych](https://acrafto.com/pl/konwerter-systemow-liczbowych-z-liczbami-ujemnymi/) ([Markdown](https://acrafto.com/pl/konwerter-systemow-liczbowych-z-liczbami-ujemnymi/index.md))
- Română (ro): [Convertor sisteme de numerație](https://acrafto.com/ro/convertor-sisteme-numerice-numere-negative/) ([Markdown](https://acrafto.com/ro/convertor-sisteme-numerice-numere-negative/index.md))
- Magyar (hu): [Számrendszer átváltó](https://acrafto.com/hu/szamrendszer-atalakito-negativ-szamokkal/) ([Markdown](https://acrafto.com/hu/szamrendszer-atalakito-negativ-szamokkal/index.md))
- Ελληνικά (el): [Μετατροπέας αριθμητικών συστημάτων](https://acrafto.com/el/number-system-converter-negative-numbers/) ([Markdown](https://acrafto.com/el/number-system-converter-negative-numbers/index.md))
- Български (bg): [Конвертор на бройни системи](https://acrafto.com/bg/konvertor-chislovi-sistemi/) ([Markdown](https://acrafto.com/bg/konvertor-chislovi-sistemi/index.md))
- Hrvatski (hr): [Pretvarač brojevnih sustava](https://acrafto.com/hr/konverter-brojevnih-sustava-s-negativnim-brojevima/) ([Markdown](https://acrafto.com/hr/konverter-brojevnih-sustava-s-negativnim-brojevima/index.md))
- Slovenščina (sl): [Pretvorba številskih sistemov](https://acrafto.com/sl/pretvarjalnik-stevilskih-sistemov/) ([Markdown](https://acrafto.com/sl/pretvarjalnik-stevilskih-sistemov/index.md))
- Eesti (et): [Arvusüsteemide teisendaja](https://acrafto.com/et/arvususteemide-muundur/) ([Markdown](https://acrafto.com/et/arvususteemide-muundur/index.md))
- Latviešu (lv): [Skaitļu sistēmu konvertors](https://acrafto.com/lv/skaitlu-sistemu-konvertors/) ([Markdown](https://acrafto.com/lv/skaitlu-sistemu-konvertors/index.md))
- Lietuvių (lt): [Skaičių sistemų keitiklis](https://acrafto.com/lt/skaiciu-sistemu-keitiklis/) ([Markdown](https://acrafto.com/lt/skaiciu-sistemu-keitiklis/index.md))
- Svenska (sv): [Talsystemsomvandlare](https://acrafto.com/sv/talsystem-konverterare-negativa-tal/) ([Markdown](https://acrafto.com/sv/talsystem-konverterare-negativa-tal/index.md))
- Dansk (da): [Talsystem omregner](https://acrafto.com/da/talsystem-omregner/) ([Markdown](https://acrafto.com/da/talsystem-omregner/index.md))
- Suomi (fi): [Lukujärjestelmämuunnin](https://acrafto.com/fi/lukujarjestelma-muunnin/) ([Markdown](https://acrafto.com/fi/lukujarjestelma-muunnin/index.md))
- Norsk (no): [Tallsystemkonverterer](https://acrafto.com/no/tallsystemkonverterer-negative-tall/) ([Markdown](https://acrafto.com/no/tallsystemkonverterer-negative-tall/index.md))
- Українська (uk): [Конвертер систем числення](https://acrafto.com/uk/konverter-chyselnykh-system/) ([Markdown](https://acrafto.com/uk/konverter-chyselnykh-system/index.md))
- Русский (ru): [Конвертер систем счисления](https://acrafto.com/ru/konverter-sistem-schisleniya/) ([Markdown](https://acrafto.com/ru/konverter-sistem-schisleniya/index.md))
- Српски (sr): [Konverter brojevnih sistema](https://acrafto.com/sr/konverter-brojevnih-sistema/) ([Markdown](https://acrafto.com/sr/konverter-brojevnih-sistema/index.md))
- Македонски (mk): [Претворач на бројни системи](https://acrafto.com/mk/pretvornik-brojni-sistemi/) ([Markdown](https://acrafto.com/mk/pretvornik-brojni-sistemi/index.md))
- Bosanski (bs): [Konverter brojevnih sistema](https://acrafto.com/bs/konverter-brojevnih-sistema/) ([Markdown](https://acrafto.com/bs/konverter-brojevnih-sistema/index.md))
- Shqip (sq): [Konvertues sistemesh numerike](https://acrafto.com/sq/konvertues-sistemesh-numerike/) ([Markdown](https://acrafto.com/sq/konvertues-sistemesh-numerike/index.md))
- Türkçe (tr): [Sayı sistemleri dönüştürücü](https://acrafto.com/tr/sayi-sistemleri-donusturucu/) ([Markdown](https://acrafto.com/tr/sayi-sistemleri-donusturucu/index.md))
- 日本語 (ja): [進数変換](https://acrafto.com/ja/number-system-converter/) ([Markdown](https://acrafto.com/ja/number-system-converter/index.md))
- 한국어 (ko): [진법 변환기](https://acrafto.com/ko/number-system-converter/) ([Markdown](https://acrafto.com/ko/number-system-converter/index.md))
- العربية (ar): [تحويل الأنظمة العددية](https://acrafto.com/ar/number-system-converter/) ([Markdown](https://acrafto.com/ar/number-system-converter/index.md))
- हिन्दी (hi): [संख्या प्रणाली कनवर्टर](https://acrafto.com/hi/number-system-converter/) ([Markdown](https://acrafto.com/hi/number-system-converter/index.md))
- Bahasa Indonesia (id): [Konverter sistem bilangan](https://acrafto.com/id/konverter-sistem-bilangan/) ([Markdown](https://acrafto.com/id/konverter-sistem-bilangan/index.md))
- Tiếng Việt (vi): [Chuyển đổi hệ cơ số](https://acrafto.com/vi/chuyen-doi-he-co-so-so-voi-so-am/) ([Markdown](https://acrafto.com/vi/chuyen-doi-he-co-so-so-voi-so-am/index.md))
- עברית (he): [המרת בסיסים](https://acrafto.com/he/number-base-converter/) ([Markdown](https://acrafto.com/he/number-base-converter/index.md))
