ตัวแปลงฐานเลข
แปลงตัวเลขระหว่างไบนารี ฐานแปด ฐานสิบ และเลขฐานสิบหก กรอกค่า เลือกฐานที่ตัวเลขนั้นเขียนอยู่ แล้วดูครบทั้งสี่ฐานพร้อมกัน ความแม่นยำไม่จำกัด ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการอัปโหลดข้อมูลใด ๆ
แปลงจาก
กรอกตัวเลขด้านบนเพื่อดูค่าในทุกฐาน
วิธีใช้ ตัวแปลงฐานเลข
- 1
กรอกตัวเลขของคุณ
พิมพ์หรือวางตัวเลขลงในช่อง ระบบจะไม่สนใจช่องว่างและขีดล่าง ดังนั้นค่าที่จัดกลุ่มไว้อย่าง 1010_1101 ก็ใช้ได้เช่นกัน
- 2
เลือกฐานเริ่มต้น
เลือกว่าตัวเลขของคุณเขียนอยู่ในไบนารี ฐานแปด ฐานสิบ หรือเลขฐานสิบหก
- 3
อ่านทุกฐานพร้อมกัน
ค่าจะแสดงในไบนารี ฐานแปด ฐานสิบ และเลขฐานสิบหกพร้อมกัน คุณจึงเปรียบเทียบหรือคัดลอกฐานที่ต้องการได้ทันที
- 4
คัดลอกผลลัพธ์
ใช้ปุ่มคัดลอกข้างฐานใดก็ได้เพื่อนำค่านั้นไปไว้ในคลิปบอร์ดของคุณ
ฐานเลข: ไบนารี ฐานแปด ฐานสิบ และเลขฐานสิบหก
ฐานเลขคืออะไร
ฐานเลข หรือที่เรียกว่า radix คือจำนวนสัญลักษณ์ตัวเลขที่แตกต่างกันซึ่งระบบจำนวนหนึ่งใช้ และจึงเป็นตัวกำหนดว่าแต่ละตำแหน่งมีค่าเท่าใด ฐานสิบคือฐาน 10 ที่มีตัวเลขสิบตัวตั้งแต่ 0 ถึง 9 ไบนารีคือฐาน 2 ที่มีสองตัว ฐานแปดคือฐาน 8 ที่มีแปดตัว และเลขฐานสิบหกคือฐาน 16 ที่มีสิบหกตัว ปริมาณเดียวกันสามารถเขียนในฐานใดก็ได้ — เปลี่ยนแค่สัญลักษณ์และน้ำหนักของหลักเท่านั้น ไม่เคยเปลี่ยนค่าที่อยู่เบื้องหลัง
ตัวแปลงนี้รับตัวเลขที่เขียนอยู่ในฐานหนึ่ง แล้วแสดงมันพร้อมกันในไบนารี ฐานแปด ฐานสิบ และเลขฐานสิบหก คุณจึงไม่ต้องแปลงซ้ำสองครั้ง การเข้าใจฐานเป็นกุญแจสู่การอ่านข้อมูลของเครื่องได้อย่างคล่องแคล่ว เพราะคอมพิวเตอร์ โปรแกรมเมอร์ และมาตรฐานต่าง ๆ ล้วนนิยมใช้ฐานที่แตกต่างกันด้วยเหตุผลเชิงปฏิบัติที่ดี
สัญกรณ์ตามตำแหน่งในทุกฐาน
ทุกระบบเหล่านี้เป็นระบบตามตำแหน่ง หมายความว่าค่าของตัวเลขจะถูกคูณด้วยเลขยกกำลังของฐานตามหลักของมัน ในฐานสิบ หลักจากขวาเป็นเลขยกกำลังของสิบ ได้แก่ หลักหน่วย หลักสิบ หลักร้อย ในฐาน b ใด ๆ หลักต่าง ๆ เป็นเลขยกกำลังของ b หลักขวาสุดคือ b ยกกำลังศูนย์ (เท่ากับ 1 เสมอ) จากนั้น b แล้ว b ยกกำลังสอง ไปเรื่อย ๆ ในการหาค่าของตัวเลข คุณต้องคูณแต่ละหลักด้วยเลขยกกำลังของหลักนั้น แล้วบวกผลลัพธ์เข้าด้วยกัน
กฎข้อเดียวนี้รวมทุกฐานเข้าด้วยกัน หลักของไบนารีเป็นเลขยกกำลังของสอง (1, 2, 4, 8) หลักของฐานแปดเป็นเลขยกกำลังของแปด (1, 8, 64, 512) และหลักของเลขฐานสิบหกเป็นเลขยกกำลังของสิบหก (1, 16, 256, 4096) การแปลงตัวเลขใด ๆ เป็นฐานสิบก็เพียงแค่ใช้ผลรวมถ่วงน้ำหนักนี้ ส่วนการแปลงฐานสิบเป็นฐานอื่นคือกระบวนการย้อนกลับ โดยใช้การหารซ้ำด้วยฐานนั้น
สัญลักษณ์ตัวเลขที่เกินกว่า 9
ฐานหนึ่งต้องการสัญลักษณ์ตัวเลขจำนวนเท่ากับขนาดของมันพอดี และนั่นทำให้เกิดคำถามสำหรับฐานที่มากกว่าสิบว่า คุณจะเขียนตัวเลขหลักเดียวที่มีค่ามากกว่าเก้าได้อย่างไร เลขฐานสิบหกแก้ปัญหานี้ด้วยการยืมตัวอักษรมาใช้ หลังจาก 0 ถึง 9 มันจะใช้ A แทนสิบ B แทนสิบเอ็ด C แทนสิบสอง D แทนสิบสาม E แทนสิบสี่ และ F แทนสิบห้า ดังนั้นเลขฐานสิบหกหลักเดียวจึงครอบคลุมค่าตั้งแต่ศูนย์ถึงสิบห้า และตัวพิมพ์ใหญ่เล็กไม่มีผล F และ f จึงเท่ากัน
ฐานที่เท่ากับหรือต่ำกว่าสิบไม่ต้องใช้ตัวอักษร ไบนารีใช้เพียง 0 และ 1 ฐานแปดใช้ 0 ถึง 7 และฐานสิบใช้ 0 ถึง 9 นี่ยังเป็นเหตุผลที่ตัวเลขบางตัวผิดกฎในบางฐานด้วย เลข 8 หรือ 9 ไม่สามารถปรากฏในฐานแปดได้ และมีเพียง 0 กับ 1 เท่านั้นที่ใช้ได้ในไบนารี หากคุณป้อนตัวเลขที่ใหญ่เกินไปสำหรับฐานที่เลือก ค่านั้นจะไม่ใช่ตัวเลขที่ถูกต้องในฐานนั้น และตัวแปลงจะแจ้งให้คุณทราบ
ทำไมจึงใช้แต่ละฐาน
ไบนารีเป็นภาษาแม่ของคอมพิวเตอร์ เพราะสวิตช์ในฮาร์ดแวร์มีสองสถานะ คือเปิดและปิด ซึ่งจับคู่โดยตรงกับ 1 และ 0 ทุกสิ่งที่เครื่องจัดเก็บล้วนเป็นไบนารีในที่สุด สิ่งนี้ทำให้ฐาน 2 จำเป็นต่อการเข้าใจว่าข้อมูลถูกแทนค่าอย่างไรในระดับล่างสุด แม้ว่าตัวเลขไบนารีที่ยาวจะน่าเบื่อสำหรับคนที่จะอ่าน
เลขฐานสิบหกเป็นตัวย่อที่กระชับของไบนารีสำหรับโปรแกรมเมอร์ เลขฐานสิบหกหนึ่งหลักเท่ากับสี่บิตพอดี ดังนั้นเลขฐานสิบหกสองหลักจึงอธิบายหนึ่งไบต์เต็มได้อย่างสะอาด ซึ่งเป็นเหตุผลที่เลขฐานสิบหกครองตำแหน่งหน่วยความจำ รหัสสี และการทิ้งข้อมูลแบบไบต์ ฐานแปดจัดกลุ่มบิตทีละสามและเป็นมรดกจากคอมพิวเตอร์รุ่นเก่า มันยังปรากฏในที่ต่าง ๆ เช่น สิทธิ์ของไฟล์ใน Unix ที่ซึ่ง 755 เป็นเลขฐานแปด ส่วนฐานสิบยังคงเป็นฐานที่มนุษย์ใช้นับ จึงเป็นปลายทางตามธรรมชาติเมื่อค่าหนึ่งต้องถูกอ่านโดยคน
ตัวอย่างที่ลงมือทำ: 0xFF ในทุกฐาน
ลองนำค่าเลขฐานสิบหก FF มาแปลงข้ามทั้งสี่ฐาน เมื่ออ่านมันตามค่าประจำตำแหน่ง F ตัวซ้ายอยู่ในหลักสิบหก และ F ตัวขวาอยู่ในหลักหน่วย ดังนั้นมันจึงเท่ากับ 15 คูณ 16 บวก 15 คูณ 1 ซึ่งเท่ากับ 240 บวก 15 เท่ากับ 240 + 15 = 255 ในฐานสิบ นั่นคือค่าสูงสุดของหนึ่งไบต์
ปริมาณเดียวกันนี้คือ 11111111 ในไบนารี — เลขหนึ่งแปดตัว เนื่องจาก 255 น้อยกว่า 256 อยู่หนึ่ง ซึ่ง 256 คือสองยกกำลังแปด ในฐานแปดมันคือ 377 เพราะ 255 เท่ากับ 3 คูณ 64 บวก 7 คูณ 8 บวก 7 ดังนั้นค่าเดียวคือ 255 จึงปรากฏเป็น FF, 11111111, 377 และ 255 ขึ้นอยู่กับฐาน และตัวแปลงนี้แสดงทั้งสี่ฐานพร้อมกัน คุณจึงเปรียบเทียบมันได้โดยตรง
ตัวอย่างข้ามฐานอันที่สอง
แปลงเลขฐานสิบ 100 เป็นอีกสามฐาน สำหรับไบนารี ให้หาเลขยกกำลังของสองที่รวมกันได้เท่ากับมัน คือ 64 + 32 + 4 เท่ากับ 100 ดังนั้นหลัก 64, 32 และ 4 จึงถูกตั้งไว้ และผลลัพธ์คือ 1100100 สำหรับเลขฐานสิบหก ให้หารด้วยสิบหก 100 เท่ากับ 6 คูณ 16 (96) เหลือเศษ 4 ได้เป็น 64 สำหรับฐานแปด ให้หารด้วยแปด 100 เท่ากับ 1 คูณ 64 บวก 4 คูณ 8 บวก 4 ได้เป็น 144
ดังนั้นเลขฐานสิบ 100 จึงเป็นไบนารี 1100100 ฐานแปด 144 และเลขฐานสิบหก 64 สังเกตว่ายิ่งฐานสูงขึ้น การแทนค่าก็ยิ่งสั้นลง เพราะแต่ละหลักแบกน้ำหนักได้มากกว่า ความกระชับนี้แหละคือเหตุผลที่เลขฐานสิบหกเป็นที่นิยมในการเขียนค่าไบต์ที่จะดูเทอะทะหากเขียนในไบนารี
ตัวเลขขนาดใหญ่ จำนวนลบ และการจัดรูปแบบอินพุต
ตัวแปลงนี้ใช้ big integer แบบความแม่นยำไม่จำกัด มันจึงแปลงค่าที่เกินขีดจำกัด 64 บิตตามปกติไปไกลได้อย่างแม่นยำโดยไม่มีการปัดเศษ — มีประโยชน์เมื่อคุณกำลังทำงานกับแฮชยาว ๆ ตัวระบุ หรือค่าทางการเข้ารหัสที่จะล้นชนิดตัวเลขทั่วไป มันยังรองรับจำนวนลบด้วย ใส่เครื่องหมายลบไว้ด้านหน้า แล้วเครื่องหมายนั้นจะถูกนำไปใช้กับทุกฐานในผลลัพธ์
เพื่อความสะดวก ช่องว่างและขีดล่างในอินพุตของคุณจะถูกมองข้าม ดังนั้นค่าที่จัดกลุ่มไว้อย่าง 1010_1101 หรือ 255 255 จึงถูกอ่านเป็นตัวเลขเดียว สิ่งนี้ช่วยให้คุณวางค่าที่จัดรูปแบบไว้เพื่อให้อ่านง่ายได้โดยไม่ต้องล้างมันก่อน เพียงแต่ต้องแน่ใจว่าทุกหลักถูกกฎสำหรับฐานที่คุณเลือก — ไม่มี 2 ในไบนารี ไม่มี 8 หรือ 9 ในฐานแปด มีเพียง 0-9 และ A-F ในเลขฐานสิบหก — มิฉะนั้นอินพุตจะถูกตั้งสถานะว่าไม่ถูกต้องสำหรับฐานนั้น
การแปลงฐานช่วยที่ไหน
การแปลงฐานเป็นงานประจำวันในการเขียนโปรแกรมและงานด้านระบบ คุณอ่านตำแหน่งหน่วยความจำหรือค่าในรีจิสเตอร์เป็นเลขฐานสิบหกแล้วต้องการค่าเทียบเท่าในฐานสิบ คุณแปลรูปแบบบิตในไบนารีเป็นเลขฐานสิบหกที่กระชับ หรือคุณถอดสิทธิ์ไฟล์ของ Unix อย่าง 644 จากฐานแปด การได้เห็นทั้งสี่ฐานพร้อมกันช่วยขจัดการคำนวณสลับไปมาในหัวและความเสี่ยงของการพลาดในการคิดเลขด้วยมือ
มันมีค่าพอ ๆ กันสำหรับการเรียนรู้ การทำตัวเลขผ่านไบนารี ฐานแปด ฐานสิบ และเลขฐานสิบหกเคียงข้างกัน ทำให้เข้าใจสัญกรณ์ตามตำแหน่งได้อย่างกระจ่าง และทำให้เห็นชัดว่าทำไมคอมพิวเตอร์ โปรแกรมเมอร์ และมาตรฐานต่าง ๆ จึงพึ่งพาฐานใดฐานหนึ่ง ไม่ว่าคุณจะกำลังดีบัก ศึกษา หรือเพียงแค่อยากรู้ว่าค่าหนึ่งมีหน้าตาอย่างไรในอีกระบบหนึ่ง การแปลงระหว่างฐานเป็นหนึ่งในการดำเนินการที่มีประโยชน์อย่างกว้างขวางที่สุดในการคำนวณ
คำถามที่พบบ่อย
ฉันจะแปลงเลขฐานสิบหกเป็นฐานสิบได้อย่างไร?
รองรับฐานใดบ้าง?
รองรับตัวเลขขนาดใหญ่มากได้ไหม?
รองรับจำนวนลบหรือไม่?
มีการส่งข้อมูลไปยังเซิร์ฟเวอร์หรือไม่?
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้