ตัวแปลงเลขฐานสิบเป็นฐานแปด

ทศนิยม

เลขฐานแปดคือระบบเลขฐาน 8 ที่คุณพบบ่อยที่สุดในการกำหนดสิทธิ์ไฟล์ของ Unix (chmod 755) และในภาษาโปรแกรมรุ่นเก่า ตัวแปลงนี้เปลี่ยนจำนวนเต็มฐานสิบใดๆ ให้เป็นรูปเลขฐานแปด คำแนะนำด้านล่างอธิบายวิธีหารด้วย 8 เพื่อให้คุณตรวจสอบผลลัพธ์ด้วยตัวเองได้

วิธีแปลงเลขฐานสิบเป็นฐานแปด

  1. 1

    ป้อนจำนวนเต็มฐานสิบ

    พิมพ์จำนวนเต็มใดก็ได้ เช่น 255 หรือ 4096

  2. 2

    อ่านผลลัพธ์ฐานแปด

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

  3. 3

    เรียนรู้วิธีแปลง

    คำแนะนำด้านล่างอธิบายขั้นตอนการหารด้วย 8 และกองเศษที่กลายเป็นเลขหลักของฐานแปด เพื่อให้คุณตรวจสอบผลลัพธ์ด้วยตัวเองได้

  4. 4

    กฎสำหรับจำนวนลบ

    จำนวนลบจะถูกแปลงในรูปแบบส่วนเติมเต็มสองแบบ 64 บิต ซึ่งเป็นผลลัพธ์เดียวกับที่รูปแบบ `%o` ในภาษา C แสดงออกมา

การหารด้วย 8 สร้างเลขหลักฐานแปดได้อย่างไร

ในการแปลงเลขฐานสิบเป็นฐานแปด ให้หารด้วย 8 ไปเรื่อยๆ แล้วเก็บเศษจากล่างขึ้นบน

83 / 8 = 10 เศษ 3
10 / 8 = 1  เศษ 2
 1 / 8 = 0  เศษ 1
อ่านจากล่างขึ้นบน: 123

ดังนั้น 83 ในฐานสิบจึงเท่ากับ 123 ในฐานแปด เลขแต่ละหลักของฐานแปดแทนได้พอดีสามบิต จึงเป็นเหตุผลที่ฐานแปดปรากฏในการเขียนสิทธิ์ของ Unix ซึ่งใช้สามบิตเข้ารหัสสิทธิ์อ่าน เขียน และรัน สำหรับผู้ใช้แต่ละกลุ่ม

ค่าสำคัญที่ควรจำ

ฐานสิบ ฐานแปด คำอธิบาย
7 7 เลขหลักเดียวที่ใหญ่ที่สุดในฐานแปด
8 10 ค่าฐานแปดสองหลักตัวแรก
64 100 ค่าฐานแปดสามหลักตัวแรก
511 777 ค่าสูงสุด 9 บิต, สิทธิ์ Unix เต็มรูปแบบ
4,096 10000 ค่าฐานแปดห้าหลักตัวแรก

ตารางสรุปสิทธิ์ของ Unix

ตัวเลข chmod ที่คุ้นเคยเป็นเลขฐานแปด แต่ละหลักคือมาสก์ขนาดสามบิตสำหรับเจ้าของ กลุ่ม และผู้อื่นทั้งหมด

  • 4 คือสิทธิ์อ่าน (read)
  • 2 คือสิทธิ์เขียน (write)
  • 1 คือสิทธิ์รัน (execute)

ดังนั้น 755 หมายความว่าเจ้าของมีสิทธิ์ 7 (rwx) ส่วนกลุ่มและผู้อื่นมีสิทธิ์ 5 (r-x) ส่วน 644 หมายความว่าเจ้าของมีสิทธิ์ rw- และผู้อื่นทุกคนมีสิทธิ์ r--

จุดที่ต้องระวัง: เลขศูนย์นำหน้า

ในภาษา C เลขศูนย์นำหน้าหมายถึงฐานแปด: int x = 010; กำหนดค่าเป็น 8 ไม่ใช่ 10 JavaScript ยกเลิกธรรมเนียมนี้ไปแล้วเพราะทำให้ทุกคนสับสน ส่วน Python ก็เลิกใช้ตั้งแต่เวอร์ชัน 3.0 หากโค้ดของคุณเป็นแบบสมัยใหม่ ควรใช้คำนำหน้า 0o เพื่อเลี่ยงข้อผิดพลาดที่คลาดเคลื่อนไปแปดเท่าโดยไม่รู้ตัว

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

เพราะฐาน 8 มีตัวเลขที่ใช้ได้พอดีแปดตัวในแต่ละหลัก ตัวเลข 8 จึงไม่สามารถปรากฏในเลขฐานแปดได้ เช่นเดียวกับที่ตัวเลข 10 ไม่สามารถปรากฏในเลขฐานสิบ หากเศษถึง 8 มันจะกลายเป็น 10 ในหลักถัดไป

พบได้น้อยมาก ระบบฝังตัวบางระบบและรูปแบบไฟล์รุ่นเก่ายังคงพึ่งพาฐานแปดอยู่ แต่สำหรับงานสมัยใหม่ส่วนใหญ่ ฐานสิบหกได้เข้ามาแทนที่ เพราะเลขฐานสิบหกหนึ่งหลักจับคู่ได้พอดีกับสี่บิต (ครึ่งไบต์) แทนที่จะเป็นสามบิต

ไม่ได้ ตัวแปลงนี้ทำงานกับเลขจำนวนเต็มเท่านั้น หากคุณพิมพ์ตัวเลขที่มีจุดทศนิยม จะแปลงเฉพาะส่วนที่เป็นจำนวนเต็ม เช่น 12.9 ได้ผลลัพธ์เดียวกับ 12

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

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

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

เครื่องสร้างตัวอักษรสุ่ม

สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

เครื่องมือตรวจสอบหมายเลขโทรศัพท์

ตรวจสอบโครงสร้างหมายเลขตามประเทศ พร้อมดูภูมิภาค ประเภท และรูปแบบ E.164 ระหว่างประเทศ ในประเทศ และ RFC 3966

เครื่องมือนี้มีให้บริการในภาษาอื่น