แปลงเลขฐาน
แปลงระหว่างเลขฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานอื่น ๆ ถึงฐาน 36
วางค่าที่ขึ้นต้นด้วย 0x, 0b หรือ 0o ได้เลย ระบบจะตั้งฐานให้อัตโนมัติ
เกี่ยวกับเครื่องมือนี้
เครื่องมือ แปลงเลขฐาน แปลงตัวเลขระหว่างฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานอื่น ๆ ได้ถึงฐาน 36 แสดงผลทุกฐานพร้อมกันในตารางเดียว
จุดที่ทำให้เครื่องมือนี้ต่างจากที่อื่นคือ ความแม่นยำกับตัวเลขขนาดใหญ่ เครื่องมือส่วนใหญ่ใช้ parseInt ซึ่งเก็บผลเป็นตัวเลขทศนิยมของ JavaScript และรองรับจำนวนเต็มแม่นยำได้แค่ประมาณ 9 ล้านล้าน เกินกว่านั้นมันจะ ปัดเศษให้เงียบ ๆ โดยไม่มีคำเตือนใด ๆ
นั่นเป็นปัญหาจริง เพราะค่าที่คนเอามาแปลงบ่อยที่สุดคือ ค่า hash, ID ขนาด 64 บิต และ bitmask ซึ่งใหญ่เกินขีดจำกัดนั้นทั้งหมด เครื่องมือนี้คำนวณด้วย BigInt จึงได้ทุกหลักถูกต้อง และจะขึ้นคำเตือนบอกด้วยเมื่อค่าที่คุณใส่ใหญ่พอที่เครื่องมืออื่นจะเริ่มเพี้ยน
นอกจากนี้ยังรับค่าที่ขึ้นต้นด้วย 0x, 0b หรือ 0o แล้วตั้งฐานให้เองอัตโนมัติ และยอมรับขีดล่างหรือช่องว่างที่ใช้จัดกลุ่มตัวเลข ทำให้วางค่ายาว ๆ จากโค้ดได้ทันที
วิธีใช้งาน
- 1พิมพ์ตัวเลขลงในช่อง หรือวางค่าที่ขึ้นต้นด้วย 0x, 0b, 0o เพื่อให้ระบบตั้งฐานให้เอง
- 2เลือกฐานของตัวเลขที่ใส่ ถ้าระบบตั้งไม่ตรง
- 3ดูค่าที่แปลงแล้วในทุกฐานที่ใช้บ่อย หรือกดดูทั้ง 34 ฐาน
- 4กดคัดลอกค่าในฐานที่ต้องการ
คำถามที่พบบ่อย
- รองรับตัวเลขใหญ่แค่ไหน
- ไม่จำกัดจำนวนหลักในทางปฏิบัติ เพราะใช้ BigInt คำนวณ ค่าอย่าง ffffffffffffffff (64 บิต) จึงได้ผลถูกต้องทุกหลัก ต่างจากเครื่องมือที่ใช้ parseInt ซึ่งจะปัดเศษเงียบ ๆ โดยไม่เตือน
- ทำไมเลข 64 บิตในเครื่องมืออื่นถึงเพี้ยน
- เพราะ JavaScript เก็บตัวเลขปกติเป็นทศนิยมความละเอียดสองเท่า ซึ่งเก็บจำนวนเต็มได้แม่นยำถึงประมาณ 9 ล้านล้านเท่านั้น เกินกว่านั้นจะปัดเศษ ค่า hash หรือ ID ขนาด 64 บิตจึงเพี้ยนโดยที่ไม่มีอะไรฟ้อง
- ใส่เครื่องหมายขีดล่างคั่นได้ไหม
- ได้ ทั้งขีดล่างและช่องว่าง เช่น 1111_0000 หรือ 1 000 000 ระบบจะตัดออกก่อนคำนวณ ทำให้วางตัวเลขยาว ๆ ที่จัดกลุ่มมาแล้วได้เลย
- ตัวเลขติดลบใช้ได้ไหม
- ได้ ใส่เครื่องหมายลบนำหน้าได้ตามปกติ ผลลัพธ์ในทุกฐานจะมีเครื่องหมายลบนำหน้าเช่นกัน
- จำนวนบิตที่แสดงหมายถึงอะไร
- คือจำนวนบิตที่ค่าสัมบูรณ์ของตัวเลขนั้นต้องใช้ เช่น 255 ใช้ 8 บิต ส่วน 256 ใช้ 9 บิต มีประโยชน์เวลาต้องเลือกขนาดชนิดข้อมูลหรือออกแบบ bitmask