Kết nối qua MCP →

Nhập phép tính

Công thức

Quảng cáo

Kết quả

Hiệu (nhị phân)
111
= 7 in decimal
Số thứ nhất (thập phân) 10
Số thứ hai (thập phân) 3
Hiệu (thập phân) 7

Máy Tính Trừ Nhị Phân là gì?

Công cụ này thực hiện phép trừ giữa hai số nhị phân (hệ cơ số 2) và hiển thị kết quả ở cả dạng nhị phân lẫn thập phân. Hệ nhị phân chỉ dùng hai chữ số là 0 và 1, trong đó mỗi vị trí tương ứng với một lũy thừa của 2. Việc trừ số nhị phân bằng tay đòi hỏi phải "mượn" qua từng cột, rất dễ nhầm lẫn — máy tính này làm việc đó ngay tức thì và kiểm tra lại kết quả dựa trên phép tính thập phân.

Cách sử dụng

Nhập số nhị phân thứ nhất (số bị trừ) và số nhị phân thứ hai (số trừ), chỉ dùng các chữ số 0 và 1. Nhấn nút tính để xem hiệu ở dạng nhị phân, cùng với giá trị thập phân của từng số nhập vào và của kết quả. Nếu số thứ hai lớn hơn, kết quả sẽ hiển thị dưới dạng số nhị phân âm (có dấu trừ ở phía trước).

Giải thích công thức

Cách đơn giản và đáng tin cậy nhất là chuyển mỗi chuỗi nhị phân sang số nguyên thập phân, thực hiện phép trừ thông thường, rồi chuyển hiệu vừa tìm được trở lại hệ nhị phân:

$$\text{kết quả} = \text{toBinary}\left( \text{parseBinary}(a) - \text{parseBinary}(b) \right)$$

Ví dụ, số nhị phân 1010 bằng \(1\cdot 8 + 0\cdot 4 + 1\cdot 2 + 0\cdot 1 = 10\) trong hệ thập phân. Cách này giúp bỏ qua quá trình mượn thủ công nhưng vẫn cho kết quả y hệt.

Ví dụ minh họa

Trừ 11 khỏi 1010. Trước hết hãy chuyển đổi: \(1010_2 = 10_{10}\) và \(11_2 = 3_{10}\). Sau đó $$10 - 3 = 7.$$ Chuyển 7 trở lại hệ nhị phân ta được \(111_2\). Vậy \(1010 - 11 = \) 111.

Cách trừ nhị phân bằng tay (Phương pháp mượn)

Phép trừ nhị phân trực tiếp hoạt động giống như phép trừ thập phân, nhưng ở cơ số 2, mỗi cột chỉ chứa 0 hoặc 1. Ý tưởng chính là mượn: khi bạn phải trừ 1 từ 0, bạn mượn từ cột tiếp theo bên trái, biến cột hiện tại thành \(10_2\) (là 2 ở hệ thập phân), vì vậy \(10_2 - 1_2 = 1_2\).

  1. Sắp xếp các số theo phía bên phải. Viết giá trị lớn hơn (số bị trừ) ở trên và giá trị nhỏ hơn (số trừ) dưới nó, căn chỉnh các bit có ý nghĩa nhất. Thêm các số 0 ở đầu số ngắn hơn để cả hai có cùng độ rộng.
  2. Làm từ phải sang trái, một cột mỗi lần. Trong mỗi cột, tính bit trên trừ bit dưới.
  3. Áp dụng các quy tắc cột: \(0-0=0\), \(1-0=1\), \(1-1=0\), và \(0-1\) cần mượn.
  4. Quy tắc mượn: đối với \(0-1\), mượn 1 từ cột tiếp theo bên trái. Cột hiện tại trở thành \(10_2 - 1 = 1\), và bạn giảm cột được mượn đi 1 (nếu cột đó chính nó là 0, bạn phải mượn lại, nối dài sang bên trái).
  5. Đọc kết quả từ hàng dưới cùng, bỏ qua các số 0 ở đầu.

Ví dụ minh họa: \(1010_2 - 0011_2\). Cả hai được đệm đến bốn bit. Kiểm tra thập phân: \(10 - 3\).

  1. Cột 0 (phải nhất): bit trên là 0, bit dưới là 1 → \(0-1\) cần mượn. Mượn từ cột 1, cho \(10_2 - 1 = 1\). Bit kết quả = 1. Bit trên của cột 1 giảm từ 1 xuống 0.
  2. Cột 1: sau khi cho vay, bit trên là 0, bit dưới là 1 → \(0-1\) cần mượn. Mượn từ cột 2, cho \(10_2 - 1 = 1\). Bit kết quả = 1. Bit trên của cột 2 giảm từ 0... nó là 0, vì vậy việc mượn nối dài tới cột 3, làm cho cột 2 hiển thị \(10_2\) rồi cho vay 1 để lại 1.
  3. Cột 2: sau khi mượn nối dài, nó chứa 1, bit dưới là 0 → \(1-0=0\). Bit kết quả = 0.
  4. Cột 3: bit trên là 1, nhưng nó đã cho vay 1 cho cột 2, để lại 0; bit dưới là 0 → \(0-0=0\). Bit kết quả = 0.

Đọc từ dưới lên theo cột cho \(0111_2\), tức là 111\(_2\), bằng \(7\) ở hệ thập phân — phù hợp với \(10 - 3 = 7\).

Các ví dụ minh họa khác

Mỗi ví dụ hiển thị phép trừ nhị phân và tương đương thập phân của nó để bạn có thể xác minh phép tính.

Phép trừ nhị phân Kiểm tra thập phân Kết quả (nhị phân) Kết quả (thập phân)
\(1101_2 - 101_2\) \(13 - 5\) 1000\(_2\) 8
\(11_2 - 1010_2\) \(3 - 10\) \(-111_2\) \(-7\)
\(110_2 - 110_2\) \(6 - 6\) \(0_2\) 0

Ví dụ 1 — \(1101_2 - 101_2\). Đệm số trừ thành \(0101_2\). Cột theo cột từ phía bên phải: \(1-1=0\); \(0-0=0\); \(1-1=0\); \(1-0=1\). Điều đó cho \(1000_2 = 8\), xác nhận \(13 - 5 = 8\).

Ví dụ 2 — \(11_2 - 1010_2\) (kết quả âm). Ở đây số trừ (\(10\)) lớn hơn số bị trừ (\(3\)), vì vậy câu trả lời là âm. Đổi chỗ và trừ số nhỏ hơn từ số lớn hơn: \(1010_2 - 0011_2 = 0111_2 = 7\), rồi khôi phục dấu để được \(-111_2 = -7\). Điều này phù hợp với \(3 - 10 = -7\).

Ví dụ 3 — \(110_2 - 110_2\) (các giá trị bằng nhau). Mỗi cột trừ thành 0 mà không có mượn: \(0-0\), \(1-1\), \(1-1\) đều cho 0, vì vậy hiệu là \(0_2 = 0\).

Các thuật ngữ chính

Số bị trừ
Số mà từ đó phép trừ được thực hiện — giá trị được viết ở trên. Trong \(1010_2 - 11_2\), số bị trừ là \(1010_2\).
Số trừ
Số được trừ — giá trị được viết dưới. Trong \(1010_2 - 11_2\), số trừ là \(11_2\).
Hiệu
Kết quả của phép trừ: \(\text{số bị trừ} - \text{số trừ}\).
Mượn
Khi một cột yêu cầu \(0-1\), một 1 được lấy từ cột tiếp theo cao hơn để cột hiện tại trở thành \(10_2\) (giá trị 2), cho phép \(10_2 - 1 = 1\). Cột được mượn từ đó được giảm đi 1, và phép mượn có thể nối dài sang trái nếu cột đó cũng là 0.
Cơ số-2 / Nhị phân
Một hệ thống số vị trí chỉ sử dụng các chữ số 0 và 1, trong đó mỗi giá trị vị trí là một lũy thừa của hai (\(\dots, 8, 4, 2, 1\)).
Bit (chữ số nhị phân)
Một chữ số cơ số-2 duy nhất, 0 hoặc 1. Một nhóm các bit đại diện cho một số lớn hơn; ví dụ \(1010_2\) có bốn bit.
Bù hai
Một cách phổ biến để máy tính biểu diễn các số nguyên có dấu. Một giá trị âm được tạo bằng cách đảo ngược tất cả các bit của độ lớn của nó và cộng 1, cho phép phép trừ được thực hiện dưới dạng cộng số đã bị phủ định trong độ rộng bit cố định.
Dấu-độ lớn
Một biểu diễn có dấu thay thế trong đó bit ngoài cùng bên trái biểu thị dấu (0 = dương, 1 = âm) và các bit còn lại biểu thị độ lớn. Dễ đọc nhưng nó có hai cách mã hóa số không và ít thuận tiện cho phép tính hơn bù hai.

Câu hỏi thường gặp

Kết quả có thể là số âm không? Có. Nếu số trừ lớn hơn, máy tính sẽ trả về một giá trị nhị phân âm, chẳng hạn -101.

Nếu tôi nhập ký tự không hợp lệ thì sao? Chỉ có hai chữ số 0 và 1 là chữ số nhị phân hợp lệ. Bất kỳ ký tự nào không phải nhị phân đều được coi như bằng 0.

Đây có phải là phép trừ bù 2 (two's complement) không? Giá trị thập phân thì giống nhau, nhưng công cụ này hiển thị kết quả theo dạng dấu–độ lớn (kèm dấu trừ) thay vì biểu diễn bù 2 với độ rộng bit cố định.

Cập nhật lần cuối: