Máy Tính Chia Số Nhị Phân là gì?
Công cụ này giúp bạn chia một số nhị phân (hệ cơ số 2) cho một số nhị phân khác, đồng thời trả về cả thương và số dư dưới dạng nhị phân lẫn thập phân. Vì việc chia số nhị phân bằng tay rất dễ sai sót, máy tính sẽ tự động chuyển các số bạn nhập sang hệ thập phân, thực hiện phép chia số nguyên rồi chuyển kết quả ngược lại về hệ nhị phân cho bạn.
Cách sử dụng
Nhập số bị chia (số cần được chia) vào ô đầu tiên và số chia vào ô thứ hai, chỉ dùng hai chữ số 0 và 1. Nhấn nút tính toán để xem ngay thương và số dư. Lưu ý: số chia không được bằng 0, vì phép chia cho 0 là không xác định.
Công thức hoạt động
Giả sử A và B là hai số nhị phân bạn nhập vào. Máy tính sẽ tính \(A_{2}_{10} = \text{parseBinary}(A)\) và \(B_{2}_{10} = \text{parseBinary}(B)\). Thương số nguyên là $$Q = \left\lfloor \frac{A_{10}}{B_{10}} \right\rfloor$$ còn số dư là $$R = A_{10} \bmod B_{10}.$$ Sau đó cả \(Q\) và \(R\) đều được chuyển ngược về hệ nhị phân. Đây chính là cách máy tính (computer) thực hiện phép chia số nguyên không dấu.
Ví dụ minh họa
Hãy chia \(1100_2\) cho \(10_2\). Trong hệ thập phân, \(1100_2 = 12\) và \(10_2 = 2\). Khi đó $$12 \div 2 = 6 \;\text{R}\; 0.$$ Chuyển ngược lại: \(6 = 110_2\) và \(0 = 0_2\). Vậy \(1100 \div 10 =\) 110 dư 0.
Cách Chia Số Nhị Phân Bằng Tay
Phép chia dài nhị phân hoạt động giống hệt như phép chia dài thập phân, nhưng thực tế nó đơn giản hơn: ở mỗi bước, số chia hoặc phù hợp với các bit hiện tại (viết 1) hoặc không (viết 0). Không có bảng nhân để ghi nhớ — bạn chỉ khi nào cũng nhân số chia với 0 hoặc 1.
Thủ tục chung để tính \(\text{Số bị chia}_2 \div \text{Số chia}_2 = Q \;\text{R}\; R\) là:
- Căn chỉnh từ bit có ý nghĩa lớn nhất. Bắt đầu với bit ngoài cùng bên trái của số bị chia làm giá trị làm việc hiện tại của bạn.
- So sánh giá trị làm việc hiện tại với số chia. Nếu giá trị làm việc lớn hơn hoặc bằng số chia, số chia "phù hợp."
- Viết bit thương. Viết 1 ở trên nếu nó phù hợp, ngược lại viết 0.
- Trừ. Nếu bạn viết 1, hãy trừ số chia từ giá trị làm việc; hiệu số trở thành giá trị làm việc mới. Nếu bạn viết 0, giá trị làm việc không thay đổi.
- Kéo xuống bit tiếp theo của số bị chia và nối nó vào giá trị làm việc.
- Lặp lại các bước 2–5 cho đến khi mọi bit của số bị chia đã được kéo xuống.
- Đọc kết quả. Các bit được thu thập ở trên tạo thành thương \(Q\); giá trị làm việc còn lại là số dư \(R\).
Ví dụ đã giải: \(1011_2 \div 10_2\) (tức là 11 ÷ 2 theo thập phân).
- Kéo xuống bit đầu tiên: giá trị làm việc =
1. Is \(1 \ge 10\)? Không → bit thương 0. - Kéo xuống bit tiếp theo: giá trị làm việc =
10. Is \(10 \ge 10\)? Có → bit thương 1, trừ: \(10 - 10 = 0\). - Kéo xuống bit tiếp theo: giá trị làm việc =
01=1. Is \(1 \ge 10\)? Không → bit thương 0. - Kéo xuống bit cuối cùng: giá trị làm việc =
11. Is \(11 \ge 10\)? Có → bit thương 1, trừ: \(11 - 10 = 1\). - Không còn bit nào. Thương =
0101= 101, số dư =1.
Kiểm tra chéo theo thập phân: \(11 \div 2 = 5\) dư \(1\), và \(101_2 = 5\), \(1_2 = 1\). ✓
Thêm Các Ví Dụ Chia Nhị Phân
Mỗi ví dụ cho thấy phép chia dài nhị phân cùng với kiểm tra chéo thập phân của nó, trong đó mối quan hệ luôn là \(\text{Số bị chia} = \text{Số chia}\times Q + R\).
Ví dụ 1 — số dư khác không: \(1011_2 \div 10_2\)
- Tương đương thập phân: \(1011_2 = 11\), \(10_2 = 2\).
- Phép chia dài cho bit thương
101với một bit còn lại1. - Kết quả: \(1011_2 \div 10_2 = 101_2 \;\text{R}\; 1_2\) → theo thập phân \(11 \div 2 = 5\;\text{R}\;1\).
- Kiểm tra: \(2 \times 5 + 1 = 11\). ✓
Ví dụ 2 — số chia lớn hơn số bị chia: \(100_2 \div 1000_2\)
- Tương đương thập phân: \(100_2 = 4\), \(1000_2 = 8\).
- Vì số chia (8) lớn hơn số bị chia (4), nó không bao giờ phù hợp, vì vậy mọi bit thương đều là 0.
- Kết quả: \(100_2 \div 1000_2 = 0 \;\text{R}\; 100_2\) → theo thập phân \(4 \div 8 = 0\;\text{R}\;4\).
- Kiểm tra: \(8 \times 0 + 4 = 4\). ✓ Khi số bị chia nhỏ hơn số chia, thương luôn bằng 0 và số dư là chính số bị chia.
Ví dụ 3 — chia sạch với kiểm tra chéo: \(11110_2 \div 110_2\)
- Tương đương thập phân: \(11110_2 = 30\), \(110_2 = 6\).
- Kéo xuống các bit cho đến khi
110được đạt → phù hợp một lần; tiếp tục kéo xuống các bit, trừ \(110\) mỗi khi nó phù hợp. - Kết quả: \(11110_2 \div 110_2 = 101_2 \;\text{R}\; 0\) → theo thập phân \(30 \div 6 = 5\;\text{R}\;0\).
- Xác minh thương: \(101_2 = 5\), và kiểm tra \(6 \times 5 + 0 = 30\). ✓ Vì số dư là 0, phép chia là chính xác.
Bạn có thể xác nhận bất kỳ chuyển đổi nào trong số này bằng công cụ chuyển đổi nhị phân sang thập phân, và xác nhận kiểm tra cuối cùng bằng cách nhân thương và số chia với nhau.
Các Thuật Ngữ Chính Trong Phép Chia Nhị Phân
- Số bị chia
- Số được chia — giá trị được viết dưới dấu chia. Trong \(1011_2 \div 10_2\), số bị chia là \(1011_2\).
- Số chia
- Số mà bạn chia cho. Trong \(1011_2 \div 10_2\), số chia là \(10_2\). Số chia không được bằng không.
- Thương
- Kết quả toàn số của phép chia — số lần số chia phù hợp với số bị chia. Được viết ở trên dấu chia, một bit trên mỗi bước.
- Số dư
- Phần còn lại sau khi thương toàn số lớn nhất được loại bỏ: \(R = \text{Số bị chia} - \text{Số chia}\times Q\). Nó luôn nhỏ hơn số chia.
- Nhị phân (cơ số 2)
- Một hệ thống số chỉ sử dụng các chữ số 0 và 1, trong đó mỗi giá trị vị trí là lũy thừa của hai (\(1, 2, 4, 8, \dots\)) thay vì lũy thừa của mười.
- Bit
- Một chữ số nhị phân đơn lẻ (0 hoặc 1) — viết tắt của "binary digit" (chữ số nhị phân).
- LSB / MSB
- Bit Ý Nghĩa Nhỏ Nhất là bit ngoài cùng bên phải (vị trí của những cái); Bit Ý Nghĩa Lớn Nhất là bit ngoài cùng bên trái (giá trị vị trí cao nhất). Phép chia dài nhị phân xử lý các bit từ MSB về phía LSB.
- Chia toàn số / chia lấy phần nguyên
- Phép chia chỉ giữ lại thương toàn số và loại bỏ bất kỳ phần phân số nào — chính xác những gì phép chia dài nhị phân tạo ra cùng với số dư của nó.
- Modulo
-
Phép toán chỉ trả về số dư của một phép chia (thường được viết
modhoặc%). Đối với \(1011_2 \div 10_2\), kết quả modulo là \(1_2\).
Câu hỏi thường gặp
Tôi có thể chia số nhị phân có phần thập phân không? Không — máy tính này chỉ xử lý các số nhị phân nguyên không dấu và trả về thương nguyên cùng số dư.
Nếu số chia lớn hơn số bị chia thì sao? Khi đó thương bằng 0 và số dư chính là số bị chia. Ví dụ: \(10 \div 100\) cho thương 0, dư 10.
Tại sao lại hiển thị cả kết quả thập phân? Việc thấy giá trị thập phân tương ứng giúp bạn dễ dàng kiểm tra lại kết quả và hiểu rõ quá trình chuyển đổi.