Máy Tính Nhân Số Nhị Phân là gì?
Công cụ này nhân hai số nhị phân (hệ cơ số 2) và trả về tích dưới dạng chuỗi nhị phân, kèm theo giá trị thập phân của cả hai số đầu vào lẫn kết quả. Đây là một công cụ toán học dùng chung cho mọi nơi — phép tính nhị phân hoạt động giống nhau ở khắp thế giới, nên không phụ thuộc vào quốc gia hay quy định nào.
Cách sử dụng
Nhập một số nhị phân (chỉ gồm chữ số 0 và 1) vào mỗi ô. Mọi ký tự khác sẽ bị bỏ qua, vì vậy dấu cách hay ký hiệu thừa cũng không làm sai kết quả. Bấm tính toán để xem tích ở cả dạng nhị phân và thập phân.
Giải thích công thức
Có thể nhân nhị phân theo từng bit bằng phương pháp dịch và cộng, nhưng cách gọn gàng nhất là chuyển mỗi số hạng sang thập phân, nhân lại, rồi đổi kết quả về nhị phân. Viết một cách hình thức:
$$\text{P}_2 = \text{bin}\!\left(\text{dec}(\text{A}_2) \times \text{dec}(\text{B}_2)\right)$$Ví dụ, giá trị nhị phân \(1010\) bằng \(10\) trong hệ thập phân vì \(1\cdot 8 + 0\cdot 4 + 1\cdot 2 + 0\cdot 1 = 10\).
Ví dụ minh họa
Nhân \(1010 \times 11\). Trước tiên hãy chuyển đổi: \(1010_2 = 10\) và \(11_2 = 3\). Nhân ở hệ thập phân:
$$10 \times 3 = 30$$Đổi \(30\) trở lại nhị phân: \(30 = 16 + 8 + 4 + 2 = 11110_2\). Vậy \(1010 \times 11 = \) 11110 ở dạng nhị phân.
Cách Nhân Các Số Nhị Phân Bằng Tay
Phép nhân nhị phân sử dụng cùng một quy trình nhân dài dịch chuyển-và-cộng như số thập phân, nhưng nó đơn giản hơn nhiều vì mỗi chữ số của số nhân là 0 hoặc 1. Nhân với 1 sao chép số bị nhân; nhân với 0 cho một hàng các số không. Công việc thực sự duy nhất là dịch chuyển từng tích riêng phần sang trái theo vị trí bit của nó, sau đó cộng các hàng lại với nhau theo quy tắc nhớ nhị phân.
Hướng dẫn chi tiết cho \((1010)_2 \times (11)_2\):
- Thiết lập các toán hạng. Số bị nhân \(A = 1010_2 = 10\), số nhân \(B = 11_2 = 3\). Tích kỳ vọng là \(10 \times 3 = 30\).
- Nhân với bit số nhân ở phải nhất (bit 0 = 1). Vì bit là 1, sao chép số bị nhân: tích riêng phần \(= 1010\), dịch chuyển sang trái 0 vị trí.
- Nhân với bit số nhân tiếp theo (bit 1 = 1). Bit là 1, do đó sao chép lại số bị nhân và dịch chuyển nó sang trái 1 vị trí (thêm một số không ở cuối): tích riêng phần \(= 10100\).
- Bỏ các hàng số không. Nếu một bit của số nhân là 0, toàn bộ hàng của nó sẽ là số không và có thể bỏ qua. Ở đây cả hai hàng đều được giữ lại.
- Cộng các tích riêng phần bằng phép cộng nhị phân. Căn chỉnh theo giá trị vị trí và cộng, nhớ bất cứ khi nào hai số 1 gặp nhau (\(1+1 = 10\), viết 0 nhớ 1):
\(\;\;\;01010\)
\(+\,10100\)
\(=\,11110\) - Đọc kết quả. Tích nhị phân là \((11110)_2\), bằng 30 trong hệ thập phân — xác nhận \(10 \times 3 = 30\). Bạn có thể xác minh bước cộng chính nó là 11110.
Tóm lại: tạo một hàng dịch chuyển cho mỗi bit của số nhân (hàng số không cho bit 0), sau đó tính tổng từng hàng bằng phép cộng nhị phân. Tích đầy đủ của một số \(m\)-bit và một số \(n\)-bit không bao giờ vượt quá \(m+n\) bit.
Thêm Các Ví Dụ Chi Tiết
Mỗi ví dụ cho thấy chuyển đổi thập phân của cả hai đầu vào, các tích riêng phần dịch chuyển-và-cộng, và tích nhị phân cuối cùng.
Ví Dụ 1 — \(111_2 \times 101_2\) (7 × 5 = 35)
- Chuyển đổi: \(111_2 = 7\), \(101_2 = 5\).
- Các bit của số nhân (từ phải sang trái) là 1, 0, 1:
- bit 0 = 1 \(\Rightarrow 111\) (dịch chuyển 0)
- bit 1 = 0 \(\Rightarrow\) hàng số không, bỏ qua
- bit 2 = 1 \(\Rightarrow 11100\) (dịch chuyển 2)
- Cộng: \(00111 + 11100 = 100011\).
- Kết quả: \((100011)_2 = \) 35, phù hợp với \(7 \times 5 = 35\).
Ví Dụ 2 — \(1100_2 \times 1010_2\) (12 × 10 = 120)
- Chuyển đổi: \(1100_2 = 12\), \(1010_2 = 10\).
- Các bit của số nhân \(1010_2\) (từ phải sang trái) là 0, 1, 0, 1:
- bit 0 = 0 \(\Rightarrow\) bỏ qua
- bit 1 = 1 \(\Rightarrow 11000\) (dịch chuyển 1)
- bit 2 = 0 \(\Rightarrow\) bỏ qua
- bit 3 = 1 \(\Rightarrow 1100000\) (dịch chuyển 3)
- Cộng: \(0011000 + 1100000 = 1111000\).
- Kết quả: \((1111000)_2 = \) 120, phù hợp với \(12 \times 10 = 120\).
Ví Dụ 3 — \(1_2 \times 1101_2\) (số nhân một bit, 1 × 13 = 13)
- Chuyển đổi: \(1_2 = 1\), \(1101_2 = 13\).
- Số nhân \(1\) có một bit duy nhất bằng 1, do đó có chính xác một tích riêng phần không có dịch chuyển: \(1101\).
- Với chỉ một hàng không có gì để cộng.
- Kết quả: \((1101)_2 = 13\). Nhân bất kỳ số nhị phân nào với \(1\) để nó không thay đổi, cũng như trong hệ thập phân.
Câu hỏi thường gặp
Nếu tôi nhập một chữ số không phải nhị phân thì sao? Các chữ số khác ngoài 0 và 1 sẽ bị loại bỏ trước khi tính toán, nên chỉ những chữ số nhị phân hợp lệ mới được dùng.
Công cụ có xử lý được số lớn không? Có — dữ liệu đầu vào được xử lý dưới dạng số nguyên 64-bit, nên những chuỗi nhị phân rất dài vẫn cho kết quả chính xác trong giới hạn đó.
Vì sao lại hiển thị giá trị thập phân? Việc thấy dạng thập phân giúp bạn kiểm tra lại phép chuyển đổi và hiểu rõ chính xác những số nào đang được nhân với nhau.