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

แปลงข้อความเป็นไบนารีและกลับกันสำหรับอินพุตสตริงใดๆ

5 จาก 2 การให้คะแนน
ตัวแปลงเลขฐานสอง

ตัวแปลงเลขฐานสองเป็นเครื่องมือฟรีสำหรับแปลงค่าตัวเลขที่เกี่ยวข้องกับเลขฐานสองและเลขฐานสิบหก

เลขฐานสองทำงานอย่างไร?

เลขฐานสองเป็นระบบเลขฐานสองที่ใช้เพียงตัวเลข 0 และ 1 แต่ละหลักแทนเลขยกกำลังของสอง โดยเริ่มจาก 2⁰ ที่หลักขวาสุด แล้วจึงเป็น 2¹, 2² และเพิ่มขึ้นตามลำดับ

ตัวอย่างเช่น เลขฐานสอง 1101 เท่ากับเลขฐานสิบ 13 เมื่อไล่จากขวาไปซ้ายจะได้ 1 × 1, 0 × 2, 1 × 4 และ 1 × 8 รวมเป็น 1 + 0 + 4 + 8 = 13

ข้อผิดพลาดที่พบบ่อยเมื่อแปลงเลขด้วยตนเองคือการกำหนดให้หลักซ้ายสุดเป็น 2⁰ ที่ถูกต้องต้องเริ่มจากหลักขวาสุด ส่วนเลขศูนย์ที่เติมไว้ด้านหน้า เช่น 00001101 ไม่ทำให้ค่าตัวเลขเปลี่ยนไป

แผนภาพ: ข้อความผ่านเครื่องมือตัวแปลงเลขฐานสองได้ทั้งสองทิศทาง

ตารางอ้างอิงเลขฐานสอง

เลขฐานสิบ เลขฐานสอง เลขฐานสิบหก
0 0000 0
5 0101 5
10 1010 A
15 1111 F
16 10000 10

เลขฐานสอง 4 หลักรวมกันเป็นหนึ่งนิบเบิล และเทียบได้โดยตรงกับเลขฐานสิบหกหนึ่งหลัก เลขฐานสิบหกจึงกระชับกว่าเมื่อตรวจสอบไบต์ ที่อยู่หน่วยความจำ และข้อมูลเครือข่าย หากต้องการรูปแบบนี้แทนชุดบิตยาว ๆ ให้ใช้ตัวแปลงเลขฐานสิบหก

เครื่องมือตัวแปลงเลขฐานสองบน digily.link พร้อมแบบฟอร์มกรอกข้อมูล

ใช้ตัวแปลงเลขฐานสองอย่างไร?

แม้ปุ่มจะระบุว่า เป็นไบนารี และ เป็นข้อความ แต่เครื่องมือนี้ไม่ได้เข้ารหัสข้อความเป็นเลขฐานสอง หรือถอดรหัสเลขฐานสองเป็นข้อความ เครื่องมือรองรับการตีความเลขฐานสองเป็นค่าตัวเลข และการแปลงจำนวนเต็มเป็นเลขฐานสิบหก ช่องที่ระบุว่า Binary จะแสดงค่าตัวเลขฐานสิบที่ได้จาก bindec หรือชุดอักขระเลขฐานสิบหกที่ได้จาก dechex

ระบบฝั่งเซิร์ฟเวอร์เรียกใช้ฟังก์ชัน bindec และ dechex ของ PHP ซึ่งเป็นฟังก์ชันสำหรับตัวเลข โดย bindec จะตีความชุดเลขฐานสองเป็นตัวเลข ส่วน dechex จะสร้างรูปแบบเลขฐานสิบหกของจำนวนเต็มฐานสิบ เนื่องจากข้อมูลของเครื่องมือไม่ได้ระบุการเข้ารหัสอักขระไว้ จึงไม่ควรคาดว่าข้อความทั่วไป ตัวอักษรที่มีเครื่องหมายกำกับ หรืออีโมจิ จะสามารถแปลงไปแล้วแปลงกลับได้ตามมาตรฐานข้อความใดมาตรฐานหนึ่ง หากต้องการตรวจสอบค่าอักขระ ASCII โดยเฉพาะ ให้ใช้ตัวแปลง ASCII

ตัวอย่างผลลัพธ์จากเครื่องมือตัวแปลงเลขฐานสอง

ผลลัพธ์หมายความว่าอย่างไร?

ช่องที่ระบุว่า Binary จะแสดงค่าตัวเลขฐานสิบจาก bindec หรือชุดอักขระเลขฐานสิบหกจาก dechex ขึ้นอยู่กับฟังก์ชันที่ใช้ แม้ชื่อช่องจะระบุเช่นนั้น แต่ทั้งสองฟังก์ชันไม่ได้ส่งคืนเลขฐานสองหรือข้อมูลที่ผ่านการเข้ารหัส

สำหรับข้อความ โดยทั่วไปบิตจะถูกแบ่งเป็นไบต์ แล้วถอดรหัสด้วยการเข้ารหัสอักขระ เช่น ASCII หรือ UTF-8 ช่องว่างระหว่างกลุ่มไบต์มีไว้เพื่อช่วยให้อ่านง่าย ไม่ใช่ตัวเลขฐานสอง เครื่องหมายวรรคตอนก็ถูกเข้ารหัสเป็นข้อมูลอักขระเช่นกัน ส่วนตัวเลขฐานสิบทั่วไปที่ป้อนในรูปข้อความจะถือเป็นอักขระ ไม่ใช่ค่าทางคณิตศาสตร์ของตัวเลขนั้น

ไม่มีตัวแปลงใดอนุมานความหมายที่ต้องการได้ครบทุกแบบจากชุดบิตที่ไม่มีข้อมูลกำกับ เมื่อตรวจคำตอบในแบบเรียน ซอร์สโค้ด หรือฟิลด์ของโปรโตคอล ให้ยืนยันความกว้างบิต ลำดับไบต์ และการเข้ารหัสอักขระที่ระบบคาดไว้ก่อน

เลขฐานสองนำไปใช้กับอะไรบ้าง?

เลขฐานสองถูกใช้ในงานที่แทนข้อมูลด้วยสถานะสองแบบซึ่งแยกออกจากกันได้ ตัวอย่างที่พบบ่อย ได้แก่

  • การเขียนโปรแกรม เช่น บิตมาสก์ แฟล็ก สิทธิ์การเข้าถึง และการดีบักระดับล่าง
  • ระบบเครือข่าย ซึ่งมักตรวจสอบซับเน็ตมาสก์ IPv4 และฟิลด์ของโปรโตคอลทีละบิต
  • อิเล็กทรอนิกส์ ซึ่งวงจรลอจิกใช้ 0 และ 1 แทนช่วงแรงดันไฟฟ้าต่ำและสูง
  • การศึกษา โดยเฉพาะแบบฝึกหัดเรื่องค่าประจำหลัก และการแปลงระหว่างเลขฐานสอง เลขฐานสิบ และเลขฐานสิบหก
  • วิทยุดิจิทัล ซึ่งส่งเสียง ข้อมูลควบคุม และข้อมูลแก้ไขข้อผิดพลาดเป็นสตรีมบิตที่ผ่านการเข้ารหัสก่อนส่งสัญญาณ

รูปแบบเลขฐานสองมีประโยชน์เมื่อต้องการทำความเข้าใจแต่ละบิต แต่เลขฐานสิบหกมักอ่านค่าของเครื่องที่ยาวมากได้ง่ายกว่า เพราะเลขฐานสิบหกแต่ละหลักตรงกับ 4 บิต

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

เลขฐานสองใส่เว้นวรรคได้ไหม?

ช่องว่างไม่ใช่ตัวเลขฐานสอง แต่คนมักใส่ไว้ระหว่างไบต์เพื่อให้อ่านง่าย ตัวแปลข้อมูลบางระบบอาจยอมรับช่องว่าง ขณะที่บางระบบอาจไม่ยอมรับ หากระบบต้องการชุดเลขฐานสองที่ต่อเนื่องกัน ให้ลบตัวคั่นออกก่อน

เลขฐานสองใช้แทนอีโมจิและตัวอักษรที่มีเครื่องหมายกำกับได้ไหม?

ได้ แต่ต้องใช้การเข้ารหัสอักขระที่ตกลงร่วมกัน เช่น UTF-8 โดยทั่วไปอักขระเหล่านี้ใช้มากกว่าหนึ่งไบต์ ดังนั้น หากถือว่าอักขระที่มองเห็นแต่ละตัวมีค่าเพียงแปดบิต ผลลัพธ์จะไม่ถูกต้อง

2 กับ 9 เป็นเลขฐานสองได้ไหม?

ไม่ได้ รูปแบบเลขฐานสองมาตรฐานมีเพียง 0 และ 1 หากพบตัวเลขอื่น ให้ถือว่าข้อมูลที่ป้อนไม่ถูกต้อง แทนที่จะสรุปเองว่าเป็นเลขฐานสิบ

เลขฐานสองที่ยาวมากจะยังคงค่าได้แม่นยำไหม?

ไม่เสมอไป bindec จะส่งคืนจำนวนเต็มเมื่อค่าอยู่ภายในขนาดจำนวนเต็มของ PHP และจะส่งคืนเลขทศนิยมแบบลอยตัวเมื่อค่าเกินขนาด ซึ่งอาจทำให้ความแม่นยำลดลง ส่วน dechex รับค่าเป็นจำนวนเต็ม ดังนั้นช่วงค่าที่รองรับจึงขึ้นอยู่กับขนาดจำนวนเต็มของเซิร์ฟเวอร์ สำหรับตัวระบุขนาดใหญ่หรือสตรีมบิตยาว ๆ ให้ใช้ไลบรารีจำนวนเต็มขนาดใหญ่ หรือประมวลผลเป็นส่วน ๆ ที่มีขนาดคงที่

ข้อมูลที่ป้อนประมวลผลในเบราว์เซอร์หรือไม่?

ไม่ ข้อมูลที่ป้อนจะถูกส่งไปยังเซิร์ฟเวอร์ผ่าน HTTPS เพื่อทำการแปลง และจะไม่ถูกจัดเก็บ

เครื่องมือที่คล้ายกัน

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

แปลงข้อความเป็นเลขฐานสิบหกและในทางกลับกันสำหรับอินพุตสตริงใดๆ

5,490
154
ตัวแปลง ASCII

แปลงข้อความเป็น ascii และกลับกันสำหรับอินพุตสตริงใด ๆ

5,263
60
ตัวแปลงเลขทศนิยม

แปลงข้อความเป็นเลขฐานสิบและแปลงกลับสำหรับอินพุตสตริงใดๆ

5,226
59

เครื่องมือยอดนิยม