ปิดโฆษณา

ตัวแปลงฐานตัวเลข

ตัวแปลงฐานตัวเลข

รองรับการแปลงตัวเลขระหว่างเลขฐานสอง ฐานแปด ฐานสิบ และฐานสิบหก รับรู้คำนำหน้า 0b/0o/0x โดยอัตโนมัติ การอัปเดตที่เชื่อมโยงทันที เหมาะสำหรับการดีบักการเขียนโปรแกรม การเรียนรู้การดำเนินการบิต และการแปลงบิตสิทธิ์

วิธีใช้งาน

🚀 เริ่มต้นอย่างรวดเร็ว

  • เลือกช่องอินพุต: พิมพ์ตัวเลขลงในช่องที่ตรงกับฐานที่ต้องการ
  • กรอกตัวเลข: พิมพ์ตัวเลขล้วน หรือวางค่าที่มีคำนำหน้า 0b/0o/0x ลงในช่องฐานที่ตรงกัน
  • เห็นผลทันที: ช่องฐานอื่น ๆ จะอัปเดตอัตโนมัติ และคัดลอกค่าไปใช้ต่อได้

📌 สถานการณ์การใช้งานทั่วไป

  • งานเขียนโปรแกรม/ดีบัก: แปลงค่าคงที่ มาสก์บิต และแฟล็กได้อย่างรวดเร็ว
  • สิทธิ์ไฟล์แบบบิต: เชื่อมโยง permission แบบ Unix (เช่น 755 ฐานแปด) กับฐานสอง/ฐานสิบ
  • เครือข่ายและโปรโตคอล: ตรวจสอบ/ยืนยันฟิลด์ฐานสิบหกในเฟรมหรือแพ็กเก็ต
  • เรียนรู้การดำเนินการบิต: ดูผลของ shift และ AND/OR/NOT ต่อรูปแบบตัวเลข
  • รีจิสเตอร์/บิตฟิลด์: แยกและประกอบแฟล็ก เหมาะกับงาน embedded และดีบักโปรโตคอล

🎛️ พารามิเตอร์และช่วงค่าที่รองรับ

  • ฐานที่รองรับ: ฐานสอง ฐานแปด ฐานสิบ และฐานสิบหก
  • ชุดตัวเลข: ฐานสอง 0/1; ฐานแปด 0–7; ฐานสิบ 0–9; ฐานสิบหก 0–9/A–F (ไม่แยกตัวพิมพ์เล็กใหญ่)
  • คำนำหน้า: มีเพียงช่องฐานที่ตรงกันเท่านั้นที่รองรับ 0b/0o/0x ผลลัพธ์เป็นตัวเลขล้วน
  • ตัวแบ่งกลุ่ม: ไม่รองรับช่องว่าง ขีดล่าง หรือตัวแบ่งกลุ่มอื่น ๆ
  • ศูนย์นำหน้า: ผลลัพธ์จะตัดศูนย์นำหน้าที่ไม่จำเป็นออก

🧭 คำแนะนำการใช้งาน

  • ตรวจสอบอินพุต: ให้แน่ใจว่าฐานที่เลือกตรงกับชุดตัวเลขที่อนุญาต หลีกเลี่ยงตัวอักษรที่ไม่ถูกต้อง
  • ตกลงรูปแบบกับทีม: ตัดสินใจกันว่าจะเก็บ/ไม่เก็บคำนำหน้าในผลลัพธ์ เพื่อลดความกำกวม
  • ตัวอักษรในฐานสิบหก: ไม่แยกตัวพิมพ์เล็ก/ใหญ่ แต่ในการเขียนโค้ดควรตกลงรูปแบบเดียวกัน (เช่น ใช้ตัวพิมพ์ใหญ่ทั้งหมด)
  • ตัวเลขยาวมาก: หากตรวจมือ แนะนำให้แบ่งกลุ่มก่อนวาง (ช่องอินพุตรองรับตัวเลขติดกันเท่านั้น)
  • ค่าบวก/ลบ: ผลลัพธ์โดยปริยายถือเป็น unsigned หากต้องการตีความเป็น signed หรือ two’s-complement ให้พิจารณาบิตสัญญาณแยกต่างหาก

⚠️ ข้อจำกัดและความเข้ากันได้

  • ไม่รองรับตัวขั้น: มีเพียงช่องฐานที่ตรงกันเท่านั้นที่รองรับคำนำหน้า 0b/0o/0x ผลลัพธ์และค่าที่คัดลอกจะเป็นตัวเลขล้วน
  • ยังไม่รองรับจำนวนลบและจำนวนทศนิยม
  • อินพุตที่ยาวมากอาจทำให้ประสิทธิภาพลดลง ควรแบ่งเป็นหลายส่วน

🔒 ความเป็นส่วนตัวและความปลอดภัย

  • การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ ข้อมูลจะไม่ออกจากอุปกรณ์

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

ทำไมวาง 0xFF ในช่องฐานสอง/ฐานสิบแล้วไม่แปลงค่า?

0x รองรับเฉพาะในช่องฐานสิบหกเท่านั้น ให้ใช้ช่อง Hex หรือเอาคำนำหน้าออกแล้วพิมพ์ตัวเลขในฐานเป้าหมาย ส่วนฐานสองและฐานแปดรองรับ 0b/0o ตามลำดับ ผลลัพธ์ที่คัดลอกจะเป็นตัวเลขล้วน

ใช้ช่องว่าง/ขีดล่าง/ตัวแบ่งกลุ่ม ได้หรือไม่?

ไม่รองรับตัวแบ่งกลุ่ม ควรใช้ตัวเลขติดกัน และลบช่องว่าง/ขีดล่างออกก่อนวาง

ทำไมศูนย์นำหน้าบางส่วนหายไป (เช่น 0010 → 10)?

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

รองรับจำนวนลบ/ทศนิยมหรือ two’s-complement ตามความกว้างหรือไม่?

ยังไม่รองรับจำนวนลบและจำนวนทศนิยม ผลลัพธ์จะถือเป็น unsigned เช่น ค่า 0xFF 8 บิต เท่ากับ 255 หากตีความเป็น unsigned แต่คือ −1 ถ้าตีความเป็น signed 8 บิต

คัดลอกแล้วมีคำนำหน้าติดไปด้วยหรือไม่?

ค่าที่คัดลอกจะเป็นตัวเลขล้วน คำนำหน้า 0b/0o/0x รองรับเฉพาะตอนรับค่าในช่องที่ตรงกับฐาน หากต้องใช้ในโค้ดให้เติมคำนำหน้าเอง