ตัวแปลงฐานเลข - ฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก

การแปลงฐานเลขเป็นหนึ่งในทักษะพื้นฐานที่นักพัฒนาทุกคนต้องการแต่น้อยครั้ที่อยากทำด้วยมือ ตัวแปลงฐานเลขของเราให้การแปลงทันทีแบบสองทิศทางระหว่างฐานที่พบบ่อย4ฐาน: ฐานสอง ฐานแปด ฐานสิบ และฐานสิบหก

สิ่งที่ทำให้เครื่องมือนี้พิเศษคือการออกแบบแบบซิงโครนัส ฟิลด์ตัวเลขทั้ง4เป็นlive — พิมพ์หรือวางค่าลงในฐานใดก็ได้ อีก3ฐานอัปเดตทันที ไม่มีปุ่มให้คลิก ไม่มีรีโหลดหน้า เหมาะสำหรับตรวจสอบงานอย่างรวดเร็วระหว่างสัมภาษณ์ ดีบักโค้ดจัดการบิต หรือแปลงค่าสี

เครื่องมือจัดการจำนวนเต็มขนาดเหมาะสม จำนวนลบ และตรวจสอบข้อมูลขณะพิมพ์ อักขระที่ไม่ถูกต้อง (เช่นตัวอักษรในฟิลด์ฐานสอง) จะถูกข้าม ทำให้การแปลงราบรื่นและไม่มีข้อผิดพลาด

กรณีใช้งานทั่วไป: แปลงรหัสสีฐานสิบหกเป็นRGB เข้าใจแฟลกฐานสองในระบบสิทธิ์ อ่านสิทธิ์ไฟล์ฐานแปด (chmod) หรือตรวจสอบการดำเนินการบิตอย่างรวดเร็วระหว่างพัฒนา

สูตร
ฐานสอง = (num).toString(2) | ฐานแปด = (num).toString(8) | ฐานสิบหก = (num).toString(16).toUpperCase()

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

ความแตกต่างระหว่างฐานสอง ฐานแปด ฐานสิบ และฐานสิบหกคืออะไร?
เป็นฐานเลขที่ต่างกัน ฐานสิบ (เลขฐาน 10) ใช้ตัวเลข 0-9 ฐานสอง (เลขฐาน 2) ใช้เพียง 0 และ 1 — พื้นฐานของการคำนวณทั้งหมด ฐานแปด (เลขฐาน 8) ใช้ 0-7 ฐานสิบหก (เลขฐาน 16) ใช้ 0-9 และ A-F มักใช้สำหรับที่อยู่หน่วยความจำและรหัสสี
ทำไมฐานสิบหกจึงพบบ่อยในการโปรแกรม?
ฐานสิบหกกระทัดรัดและแมปอย่างสะอาดไปยังฐานสอง: ตัวเลขฐานสิบหกแต่ละตัวแทนบิตฐานสอง4บิตพอดี (nibble) ตัวเลขฐานสิบหกสองตัวเป็น1ไบต์ ทำให้ฐานสิบหกเหมาะสำหรับแทนที่อยู่หน่วยความจำ ค่าไบต์ และสี RGB (#FF5733 = RGB 255, 87, 51)
จะแปลงระหว่างฐานด้วยมืออย่างไร?
เพื่อแปลงฐานสิบเป็นฐานอื่น: หารด้วยฐานซ้ำๆ เก็บเศษจากตัวสุดท้ายไปตัวแรก เพื่อแปลงจากฐานอื่นเป็นฐานสิบ: คูณตัวเลขแต่ละตัวด้วยฐานยกกำลังตามตำแหน่ง แล้วบวก หรือเพียงใช้ตัวแปลงของเรา!
จำนวนลบสามารถแทนในฐานต่างๆ ได้หรือไม่?
ใช่ — ตัวแปลงของเราจัดการจำนวนลบโดยเติมเครื่องหมายลบไว้ข้างหน้า ในการแทนฐานสองภายในชนิดข้อมูลความกว้างคงที่ (เช่นจำนวนเต็ม32บิต) จำนวนลบมักจัดเก็บโดยใช้สัญลักษณ์สองส่วนเติม ซึ่งต่างจากเครื่องหมายลบธรรมดา

เครื่องคิดเลขที่เกี่ยวข้อง