เครื่องคำนวณคอมพลีเมนต์เลขฐานสอง การแปลงเลขฐานสองและฐานสิบ รองรับจำนวนเต็มมีเครื่องหมายและการคำนวณคอมพลีเมนต์
ผลการแปลง
เครื่องคำนวณคอมพลีเมนต์สอง: แนะนำเครื่องมือ
เครื่องมือออนไลน์ฟรีสำหรับแปลงตัวเลขระหว่างระบบเลขฐานสองและฐานสิบ คำนวณคอมพลีเมนต์ 1 และคอมพลีเมนต์ 2 รวมถึงแปลงคอมพลีเมนต์กลับเป็นค่าต้นฉบับ รองรับจำนวนเต็มมีเครื่องหมายและไม่มีเครื่องหมาย ไม่ต้องติดตั้งหรือสมัครสมาชิก
ฟีเจอร์หลัก
- ฐานสิบ → ฐานสอง: แปลงจำนวนเต็มบวกและลบ
- ฐานสอง → ฐานสิบ: แสดงผลทั้งแบบมีเครื่องหมายและไม่มีเครื่องหมาย
- คอมพลีเมนต์ 1: กลับบิตทั้งหมด (0↔1)
- คอมพลีเมนต์ 2: คอมพลีเมนต์ 1 บวก 1 มาตรฐานการแทนจำนวนลบในโปรเซสเซอร์ทุกรุ่น
- การแปลงย้อนกลับ: คืนค่าเลขฐานสองต้นฉบับจากคอมพลีเมนต์โดยอัตโนมัติ
- ความยาวบิต: 8, 16, 32 และ 64 บิต
กรณีการใช้งาน
- นักศึกษาวิทยาการคอมพิวเตอร์และวิศวกรรมอิเล็กทรอนิกส์: ตรวจสอบการบ้านสถาปัตยกรรมคอมพิวเตอร์ เตรียมสอบวิชาระบบดิจิทัล
- นักพัฒนา C/C++ และระบบฝังตัว: ดีบักการดำเนินการบิต วิเคราะห์การล้นของจำนวนเต็ม ตรวจสอบประเภท
int8_tint16_tint32_t - นักพัฒนา Java: ประเภทจำนวนเต็มทั้งหมดใน Java ใช้คอมพลีเมนต์สอง ช่วยแสดงภาพการทำงานของบิตมาสก์และการเลื่อนบิต
- นักพัฒนา Python: ทำความเข้าใจผลลัพธ์ของตัวดำเนินการ
~xและบิตมาสก์สำหรับจำนวนลบ - นักออกแบบวงจรดิจิทัลและ FPGA: ตรวจสอบค่าอินพุต/เอาต์พุตของหน่วยคำนวณเลขคณิตและตรรกะ (ALU) ในระดับบิต
คู่มือการใช้งานทีละขั้นตอน
- เลือกทิศทางการแปลง: "ฐานสิบ → ฐานสอง" หรือ "ฐานสอง → ฐานสิบ"
- ป้อนตัวเลขในช่องรับค่า (สำหรับจำนวนลบในรูปแบบทศนิยม ให้ใส่เครื่องหมายลบ เช่น −42)
- เลือกความยาวบิต: 8, 16, 32 หรือ 64 บิต
- ผลลัพธ์จะแสดงทันที: เลขฐานสองไม่มีเครื่องหมาย คอมพลีเมนต์ 1 และคอมพลีเมนต์ 2
- ใช้ปุ่ม "คัดลอกไปยังคลิปบอร์ด" เพื่อนำผลลัพธ์ไปวางในโค้ดได้โดยตรง
คอมพลีเมนต์สองคืออะไร?
ในวิทยาการคอมพิวเตอร์ คอมพลีเมนต์สอง (two's complement) คือวิธีมาตรฐานในการแทนจำนวนเต็มมีเครื่องหมายในคอมพิวเตอร์ยุคใหม่ทุกเครื่อง วิธีนี้ช่วยให้การบวกและการลบสามารถใช้วงจรฮาร์ดแวร์ชุดเดียวกันได้ ทำให้การออกแบบโปรเซสเซอร์ง่ายขึ้นมาก
คอมพลีเมนต์ 1: กลับบิตทั้งหมด ตัวอย่าง: 00001010 (+10) → 11110101
คอมพลีเมนต์ 2: คอมพลีเมนต์ 1 บวก 1 ตัวอย่าง: 11110101 + 1 = 11110110 (แทน −10 ในระบบ 8 บิต)
อ่านเพิ่มเติม: Two's complement — Wikipedia
เคล็ดลับการใช้งาน
- ช่วงค่าตามความยาวบิต: 8 บิต (−128 ถึง +127), 16 บิต (−32,768 ถึง +32,767), 32 บิต (−2,147,483,648 ถึง +2,147,483,647)
- หากค่าเกินขอบเขต จะมีข้อความแจ้งเตือน ให้เลือกความยาวบิตที่มากขึ้น
- ใน C ตัวดำเนินการ
~xคำนวณคอมพลีเมนต์ 1 และ-xให้คอมพลีเมนต์ 2 - ใน Python
(~x) & 0xFFให้คอมพลีเมนต์ 2 สำหรับ 8 บิต
คำถามที่พบบ่อย (FAQ)
- เครื่องมือนี้ฟรีหรือไม่?
ใช่ ฟรีทั้งหมดและไม่ต้องสมัครสมาชิก - แปลงจำนวนลบทศนิยมเป็นเลขฐานสองได้อย่างไร?
เพียงป้อนค่าที่มีเครื่องหมายลบ เครื่องมือจะแสดงรูปแบบคอมพลีเมนต์ 2 โดยอัตโนมัติ - คอมพลีเมนต์ 1 และคอมพลีเมนต์ 2 ต่างกันอย่างไร?
คอมพลีเมนต์ 1 เพียงกลับบิตทั้งหมด ทำให้ศูนย์มีสองรูปแบบ (00…0และ11…1) คอมพลีเมนต์ 2 แก้ปัญหานี้โดยบวก 1 เพิ่ม ทำให้ศูนย์มีรูปแบบเดียวและการคำนวณเลขคณิตถูกต้อง - รองรับความยาวบิตสูงสุดเท่าไร?
สูงสุด 64 บิต - คำนวณคอมพลีเมนต์ 2 ใน Java อย่างไร?
การดำเนินการ-xใน Java ให้คอมพลีเมนต์ 2 โดยตรง เมธอดInteger.toBinaryString(x)แสดงรูปแบบ 32 บิตคอมพลีเมนต์สำหรับจำนวนลบ
วิธีแปลงเลขฐานสิบเป็นเลขฐานสองในภาษาโปรแกรมต่างๆ
| Java | Integer.toBinaryString(decimal_number) |
| JavaScript | let binary = decimal_number.toString(2); |
| Microsoft .NET / C# | string binary = Convert.ToString(decimal_number, 2); |
| Python | binary = bin(decimal_number)[2:] |
| Ruby | binary = decimal_number.to_s(2) |
| Go | import strconv binary := strconv.FormatInt(decimal_number, 2) |
X
💡
คุณอาจต้องการสิ่งนี้ด้วย