ตัวแปลงฐาน คืออะไร?
ตัวแปลงฐานเลขทำหน้าที่แปลงตัวเลขจากระบบเลขฐานตำแหน่งหนึ่งไปยังอีกระบบหนึ่ง ซึ่งพบบ่อยที่สุดคือระหว่างฐานสอง (2) ฐานแปด (8) ฐานสิบ (10) และฐานสิบหก (16) ระบบเลขทุกระบบทำงานในลักษณะเดียวกัน คือค่าของแต่ละหลักขึ้นอยู่กับตำแหน่งของมัน โดยคูณด้วยฐานที่ยกกำลังตามตำแหน่งนั้น คอมพิวเตอร์เก็บและประมวลผลทุกอย่างเป็นเลขฐานสอง แต่สตริงฐานสองมักยาวและอ่านยาก โปรแกรมเมอร์จึงใช้เลขฐานสิบหกเป็นตัวย่อที่กระชับ และเลขฐานแปดยังคงพบได้ในสิทธิ์การเข้าถึงไฟล์แบบ Unix รุ่นเก่า
เครื่องคำนวณนี้แปลงค่าที่คุณป้อนไปยังทั้งสี่ฐานพร้อมกันทันที และแสดงรายละเอียดค่าประจำหลัก คือแต่ละหลักคูณด้วยน้ำหนักตามตำแหน่งของมัน เพื่อให้คุณเห็นว่าการแปลงทำงานอย่างไรจริง ๆ แทนที่จะได้เพียงคำตอบที่ไม่ชัดเจน
เมื่อไหร่ควรใช้เครื่องคำนวณนี้
- การดีบักที่อยู่หน่วยความจำและค่าไบต์ในการพัฒนาซอฟต์แวร์ ซึ่งการใช้เลขฐานสิบหกเป็นมาตรฐานที่นิยม
- การแปลงรหัสสีฐานสิบหกเป็นค่า RGB สำหรับงานออกแบบเว็บและการจัดสไตล์ด้วย CSS
- การทำความเข้าใจ subnet mask ของ IP และการกำหนดที่อยู่เครือข่าย ซึ่งเขียนในรูปแบบฐานสองหรือฐานสิบหกแบบมีจุด
- การอ่านรหัสสิทธิ์การเข้าถึงไฟล์ Unix/Linux เช่น chmod 755 ซึ่งใช้สัญกรณ์ฐานแปด
- การเรียนและสอบวิชาวิทยาการคอมพิวเตอร์ที่ครอบคลุมระบบเลขและการแทนข้อมูล
- การแข่งขันเขียนโปรแกรมและการเขียนโค้ดระดับต่ำที่การดำเนินการระดับบิตเขียนในรูปฐานสองหรือฐานสิบหก
ขั้นตอน:
- พิมพ์ตัวเลขที่ต้องการแปลง
- เลือกฐานที่ตัวเลขนั้นถูกเขียนอยู่ในปัจจุบัน (ฐานสอง ฐานแปด ฐานสิบ หรือฐานสิบหก)
- อ่านค่าที่แปลงแล้วในทั้งสี่ฐานได้ทันที
- ขยายรายละเอียดค่าประจำหลักเพื่อดูว่าแต่ละหลักมีส่วนช่วยต่อผลรวมอย่างไร
สูตร
ค่า = Σ (หลัก × ฐาน^ตำแหน่ง)
ตำแหน่งเริ่มนับจาก 0 ที่หลักขวาสุด
ตัวอย่าง (ฐานสอง 1011): 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11 (ฐานสิบ)
กรณีใช้งาน
- การดีบักที่อยู่หน่วยความจำและค่าไบต์ในการพัฒนาซอฟต์แวร์
- การแปลงรหัสสีระหว่างฐานสิบหกและฐานสิบสำหรับงานออกแบบเว็บ
- การทำงานกับเลขฐานสองและฐานสิบหกในวิชาวิทยาการคอมพิวเตอร์
- การอ่านรหัสสิทธิ์การเข้าถึงไฟล์ Unix/Linux ที่เขียนในรูปฐานแปด
- การทำความเข้าใจ subnet mask ของ IP และการกำหนดที่อยู่เครือข่าย
ประโยชน์หลัก
- แปลงได้ทันทีในฐานสอง ฐานแปด ฐานสิบ และฐานสิบหกพร้อมกัน
- รายละเอียดค่าประจำหลักแบบภาพแสดงให้เห็นการคำนวณอย่างชัดเจน
- ตรวจจับหลักที่ไม่ถูกต้องสำหรับฐานที่เลือกได้ทันที
- ไม่ต้องหารยาวด้วยมือหรือคำนวณเศษซ้ำ ๆ
เคล็ดลับ
- เมื่ออ่านฐานสิบหก ให้จำไว้ว่าแต่ละหลักมีค่าตรง 4 บิต ซึ่งมีประโยชน์สำหรับการแปลงฐานสองในใจ
- จัดกลุ่มหลักฐานสองทีละสี่ตัวจากทางขวาเพื่อแปลงเป็นฐานสิบหกได้อย่างรวดเร็วด้วยมือ
- หลักฐานแปดจัดกลุ่มฐานสองทีละสามตัว นี่คือเหตุผลที่เคยนิยมใช้กับระบบ 12/24 บิตรุ่นเก่า
- ตรวจสอบซ้ำว่าฐาน 'ต้นทาง' ที่เลือกตรงกับสิ่งที่คุณพิมพ์จริง ก่อนที่จะเชื่อผลลัพธ์
ข้อผิดพลาดที่พบบ่อย
- ป้อนหลักที่ไม่ถูกต้องสำหรับฐานที่เลือก เช่น '9' ในฐานสองหรือฐานแปด
- ลืมว่าตัวอักษร A-F ในฐานสิบหกไม่สนใจตัวพิมพ์ใหญ่เล็กแต่แทนค่าที่ตายตัว
- สับสนระหว่างสัญกรณ์เลขศูนย์นำหน้าของฐานแปดกับเลขฐานสิบในภาษาโปรแกรมรุ่นเก่า
- สมมติว่าการแปลงฐานสองรองรับเลขติดลบได้โดยไม่ต้องใช้ระบบ two's-complement
คำศัพท์สำคัญ
- Radix: อีกชื่อหนึ่งของฐานของระบบเลข
- สัญกรณ์เชิงตำแหน่ง: ระบบที่ค่าของหลักขึ้นอยู่กับตำแหน่งของมัน
- บิต (Bit): เลขฐานสองหนึ่งหลัก (0 หรือ 1)
- นิบเบิล (Nibble): กลุ่มของ 4 บิต ซึ่งเท่ากับหนึ่งหลักของฐานสิบหกพอดี
แนวคิดที่เกี่ยวข้อง
- ค่าสี: สีฐานสิบหกเช่น #FF5733 คือสามไบต์ฐาน 16 ตัวแปลงสี ของเราแปลงระหว่าง hex, RGB, HSL และรูปแบบสีที่มีชื่อ
- ข้อมูลไบนารีและขนาดข้อมูล: ค่าไบต์ใน hex สอดคล้องกับปริมาณข้อมูลโดยตรง ตัวแปลงข้อมูล ของเราแปลงระหว่างบิต ไบต์ และหน่วยจัดเก็บข้อมูล
- Timestamp ยุค Unix: เวลา Unix มักแสดงในฐานสิบและฐานสิบหก ตัวแปลง timestamp Unix ของเราแปลง timestamp เป็นวันที่ที่อ่านเข้าใจได้และย้อนกลับ
- แฮช: ข้อความย่อยทางคริปโต เช่น MD5 และ SHA-256 คือสตริงของหลักฐานสิบหก ตัวสร้างแฮช ของเราสร้างรูปแบบแฮชทั่วไปเหล่านี้
- การเข้ารหัส: การเข้ารหัสเปอร์เซ็นต์ใน URL เขียนอักขระพิเศษแต่ละตัวเป็น escape แบบฐานสิบหก เช่น %2F ตัวเข้ารหัส-ถอดรหัส URL ของเราเข้ารหัสและถอดรหัสเนื้อหา URL
ตัวอย่าง
การแปลงเลขฐานสิบหก 2F เป็นฐานสิบ: 2×16¹ + 15×16⁰ = 32 + 15 = 47 ในฐานสอง 47 คือ 101111 และในฐานแปดคือ 57
การตีความผลลัพธ์
ตัวแปลงแสดงผลลัพธ์ทุกค่าเป็นสตริงตัวเลขในฐานที่คุณเลือก และรายละเอียดค่าประจำหลักจะขยายแต่ละหลักเป็น หลัก × ฐาน^ตำแหน่ง เพื่อให้คุณตรวจสอบตัวเลขด้วยมือได้แทนการเชื่อเครื่องมือแบบกล่องดำ หลักขวาสุดคือตำแหน่ง 0 และน้ำหนักของมันคือ 1 เสมอ เมื่อเลื่อนไปทางซ้าย น้ำหนักแต่ละตำแหน่งจะคูณด้วยฐานอีกครั้ง (ดังนั้นในฐานสองน้ำหนักคือ 1, 2, 4, 8… และในฐานสิบหกคือ 1, 16, 256…) การบวกทุก หลัก × น้ำหนัก จะได้ค่าฐานสิบที่ตรงกันพอดี ข้อมูลนำเข้าต้องใช้เฉพาะหลักที่ถูกต้องสำหรับฐานที่เลือก — เครื่องมือจะแจ้งเตือนหลักที่ไม่ถูกต้องทันที โปรดทราบว่าเครื่องมือรองรับเฉพาะจำนวนเต็มที่ไม่ติดลบเท่านั้น ค่าติดลบและค่าเศษส่วนต้องใช้วิธี two's complement หรือจุดลอยตัว ซึ่งตัวแปลงจำนวนเต็มแบบตำแหน่งไม่ครอบคลุม

