T

Text Machine

เครื่องมือข้อความทรงพลัง ในเบราว์เซอร์ของคุณ

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

แปลงระหว่างระบบเลขฐานสอง (ฐาน-2) และเลขฐานสิบ (ฐาน-10) ป้อนค่าในช่องใดช่องหนึ่งเพื่อดูการแปลง

เลขฐานสอง (ฐาน-2)

เลขฐานสองใช้เฉพาะ 0 และ 1 เท่านั้น

เลขฐานสิบ (ฐาน-10)

ระบบเลขฐานสิบมาตรฐาน (ตัวเลข 0-9)

วิธีใช้

ป้อนเลขฐานสองที่ถูกต้อง (ประกอบด้วย 0 และ 1) ลงในช่องเลขฐานสอง แล้วค่าเทียบเท่าเลขฐานสิบจะปรากฏขึ้น หรือป้อนเลขฐานสิบลงในช่องเลขฐานสิบ แล้วค่าเทียบเท่าเลขฐานสองจะปรากฏขึ้น

ตัวอย่าง: เลขฐานสอง '1101' คือเลขฐานสิบ '13'

วิธีใช้ ตัวแปลงเลขฐานสอง ↔ เลขฐานสิบ

  1. 1

    ป้อนเลขฐานสอง

    พิมพ์หรือวางเลขฐานสองที่ประกอบด้วย 0 และ 1 ลงในช่องป้อนข้อมูล

  2. 2

    แปลงเป็นเลขฐานสิบ

    รันการแปลงเพื่อเปลี่ยนค่าฐานสองให้เป็นค่าเทียบเท่าฐานสิบทันที

  3. 3

    อ่านผลลัพธ์

    ดูเลขฐานสิบในช่องผลลัพธ์ พร้อมนำไปใช้หรือตรวจสอบได้ทันที

  4. 4

    คัดลอกคำตอบ

    คัดลอกผลลัพธ์ฐานสิบไปยังคลิปบอร์ดเพื่อใช้ในโค้ด การบ้าน หรือเอกสาร

การแปลงเลขฐานสองเป็นเลขฐานสิบ

สองระบบเลข ค่าเดียวกัน

เลขฐานสิบคือระบบฐาน-10 ที่เราใช้กันทุกวัน สร้างขึ้นจากตัวเลขสิบตัว คือ 0 ถึง 9 ส่วนเลขฐานสองคือระบบฐาน-2 ที่คอมพิวเตอร์ใช้ภายใน สร้างขึ้นจากตัวเลขเพียงสองตัว คือ 0 และ 1 โดยแต่ละตัวเรียกว่าบิต (bit) การแปลงเลขฐานสองเป็นเลขฐานสิบไม่ได้เปลี่ยนปริมาณแต่อย่างใด เพียงแต่เขียนค่าเดิมขึ้นใหม่ในรูปแบบที่คนอ่านได้ง่ายที่สุดเท่านั้น เลขสิบเอ็ดเขียนเป็น 1011 ในเลขฐานสอง และเป็น 11 ในเลขฐานสิบ ทั้งสองต่างก็เรียกขานปริมาณเดียวกันทุกประการ

เหตุที่สองระบบนี้อยู่ร่วมกันได้ก็เพราะฮาร์ดแวร์ วงจรของคอมพิวเตอร์มีสถานะที่เชื่อถือได้สองสถานะ คือ เปิดและปิด ซึ่งจับคู่กับ 1 และ 0 ได้อย่างลงตัว เครื่องจักรจึงทำงานในระบบเลขฐานสอง ส่วนมนุษย์ที่มีนิ้วมือสิบนิ้วก็เลือกใช้ฐาน 10 ตัวแปลงอย่างเครื่องมือนี้จึงเป็นสะพานเชื่อม คือรับรูปแบบดั้งเดิมของเครื่องจักรมาแล้วสร้างค่าเทียบเท่าที่เป็นมิตรกับมนุษย์ออกมา และยังทำงานในทิศทางย้อนกลับได้ด้วย

สัญกรณ์ตามตำแหน่งและค่าประจำหลัก

ทั้งสองระบบเป็นระบบตามตำแหน่ง หมายความว่าค่าที่ตัวเลขแต่ละตัวมีส่วนร่วมนั้นขึ้นอยู่กับว่ามันอยู่ตรงไหน ในเลขฐานสิบ หลักต่าง ๆ นับจากขวาไปซ้ายคือ หลักหน่วย หลักสิบ หลักร้อย และต่อ ๆ ไป ซึ่งก็คือกำลังของสิบที่เพิ่มขึ้นเรื่อย ๆ เลขฐานสองทำงานแบบเดียวกันแต่ใช้กำลังของสอง ดังนั้นหลักต่าง ๆ นับจากขวาคือ 1, 2, 4, 8, 16, 32, 64, 128 และสูงขึ้นไป โดยแต่ละหลักมีค่าเป็นสองเท่าของหลักที่อยู่ทางขวาของมัน

ในการอ่านเลขฐานสอง คุณจะดูที่แต่ละตำแหน่ง ตรงไหนที่มีเลข 1 ก็บวกค่าประจำหลักของหลักนั้นเข้าไป ตรงไหนที่มีเลข 0 ก็ไม่ต้องบวกอะไร บิตขวาสุดคือหลักหน่วย (สองยกกำลังศูนย์) ถัดมาคือหลักสอง (สองยกกำลังหนึ่ง) จากนั้นก็หลักสี่ หลักแปด และต่อไปเรื่อย ๆ การบวกค่าประจำหลักของบิตที่เป็น 1 ทั้งหมดเข้าด้วยกันจะได้ผลรวมเป็นเลขฐานสิบ กฎข้อเดียวนี้คือทั้งหมดของการแปลง

ตัวอย่างประกอบ: 1011 เป็นเลขฐานสิบ

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

ทีนี้บวกค่าประจำหลักทุกตำแหน่งที่มีเลข 1 ปรากฏ คือ 8 + 0 + 2 + 1 ซึ่งรวมได้ 11 ดังนั้นเลขฐานสอง 1011 จึงเท่ากับเลขฐานสิบ 11 เลข 0 เพียงตัวเดียวนั้นไม่ได้มีส่วนร่วมอะไรเลย ซึ่งนั่นแหละคือเหตุผลที่มันอยู่ตรงนั้น เพื่อกันให้หลักสี่ว่างไว้ การแปลงเลขฐานสองเป็นเลขฐานสิบทุกครั้งล้วนเป็นการบวกกำลังของสองแบบเดียวกันนี้ ไม่ว่าตัวเลขจะยาวแค่ไหนก็ตาม

ตัวอย่างที่สองกับหนึ่งไบต์เต็ม

ลองดูค่าแปดบิต 11001000 ซึ่งเป็นหนึ่งไบต์เต็ม หลักทั้งแปดนับจากขวาไปซ้ายมีค่าประจำหลัก 1, 2, 4, 8, 16, 32, 64 และ 128 ทำเครื่องหมายตรงที่บิต 1 ตกอยู่ คือมีเลข 1 ในหลัก 128 เลข 1 ในหลัก 64 เลข 1 ในหลัก 8 และเป็น 0 ในที่อื่นทั้งหมด

บวกค่าเหล่านั้นเข้าด้วยกัน คือ 128 + 64 + 8 เท่ากับ 200 ดังนั้น 11001000 จึงเป็นเลขฐานสิบ 200 การทำงานกับความกว้างแบบตายตัวที่แปดบิตนั้นพบได้บ่อย เพราะหนึ่งไบต์ครอบคลุมตั้งแต่ 0 (00000000) ถึง 255 (11111111) เมื่อรู้ว่าบิตซ้ายสุดของหนึ่งไบต์มีค่า 128 แล้วค่าก็ลดลงครึ่งหนึ่งไปเรื่อย ๆ จนถึง 1 ทางขวา คุณก็จะแปลงไบต์ส่วนใหญ่ได้อย่างรวดเร็วในใจ

ศูนย์นำหน้าและความยาวของตัวเลข

ศูนย์นำหน้าไม่เคยเปลี่ยนค่าของเลขฐานสอง เช่นเดียวกับที่มันไม่เปลี่ยนค่าในเลขฐานสิบ ตัวเลข 1011, 01011 และ 00001011 ล้วนเท่ากับเลขฐานสิบ 11 เพราะเลข 0 ในหลักสูงนั้นไม่ได้มีส่วนร่วมอะไรกับผลรวมเลย คอมพิวเตอร์มักเติมเลขฐานสองให้เต็มความกว้างแบบตายตัว คือแปดบิตสำหรับหนึ่งไบต์ สิบหกหรือสามสิบสองบิตสำหรับชนิดข้อมูลที่ใหญ่กว่า เพื่อการจัดเรียงให้ตรงกันล้วน ๆ ไม่ใช่เพราะศูนย์ที่เพิ่มเข้ามามีความหมายอะไร

ดังนั้นเมื่อคุณวางสตริงเลขฐานสองที่มีศูนย์นำหน้า คุณจะคงมันไว้หรือตัดออกก็ได้ ผลลัพธ์เลขฐานสิบก็เหมือนกัน อย่างไรก็ตาม ความยาวรวมเป็นตัวกำหนดค่าสูงสุด คือ ด้วย n บิต คุณสามารถแทนค่าตั้งแต่ศูนย์ไปจนถึงสองยกกำลัง n ลบหนึ่งได้ แปดบิตสูงสุดที่ 255 สิบหกบิตที่ 65535 เครื่องมือนี้รองรับสตริงยาว ๆ ได้ แต่ค่าที่ใหญ่มาก ๆ อาจเกินความแม่นยำของตัวเลขมาตรฐาน ดังนั้นสำหรับไบต์และจำนวนเต็มในชีวิตประจำวัน ผลลัพธ์จะแม่นยำ

เทคนิคคูณสองเพื่อแปลงอย่างรวดเร็ว

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

ลองนำมาใช้กับ 1011 เริ่มที่ 0 บิตแรกเป็น 1: 0 คูณสองได้ 0 บวก 1 ได้ 1 บิตที่สองเป็น 0: 1 คูณสองได้ 2 บวก 0 ได้ 2 บิตที่สามเป็น 1: 2 คูณสองได้ 4 บวก 1 ได้ 5 บิตที่สี่เป็น 1: 5 คูณสองได้ 10 บวก 1 ได้ 11 คำตอบคือ 11 ซึ่งตรงกับวิธีค่าประจำหลัก เทคนิคคูณสองมักเร็วกว่าสำหรับตัวเลขยาว ๆ เพราะคุณไม่ต้องคอยจำว่าหลักนั้นแทนกำลังของสองค่าใด

ทำไมเรื่องนี้จึงสำคัญ

การแปลงเลขฐานสองเป็นเลขฐานสิบเป็นพื้นฐานสำคัญของการเรียนรู้ว่าคอมพิวเตอร์ทำงานอย่างไร และเป็นหัวข้อมาตรฐานในวิชาวิทยาการคอมพิวเตอร์และข้อสอบใบรับรองต่าง ๆ การเข้าใจว่าหนึ่งไบต์ก็เป็นเพียงผลรวมของกำลังของสองนั้นช่วยขจัดความลึกลับของขนาดข้อมูล หน่วยความจำ และช่วงของตัวเลข อีกทั้งยังเป็นความรู้พื้นฐานก่อนจะเข้าใจหัวข้ออย่างการดำเนินการระดับบิตและจำนวนเต็มแบบทูคอมพลีเมนต์ (two's-complement)

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

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

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

เครื่องมือที่เกี่ยวข้อง

ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้

เครื่องแปลงเลขฐานสิบ ↔ เลขฐานสอง

ตัวแปลง Unix Timestamp

ตัวแปลง JSON เป็น CSV

ตัวแปลง JSON เป็น YAML

ตัวแปลง CSV เป็น JSON

ตัวแปลงข้อความเป็นไบนารี