Công Cụ Tính Nhị Phân
Nhập hai số nhị phân và nhận tổng, hiệu, tích hoặc thương — với số nhớ, số mượn, tích riêng và các bước chia dài được trình bày theo từng cột. Chuyển sang chế độ theo bit để áp dụng AND, OR, XOR, NOT, dịch bit và xoay bit với độ rộng từ 4 đến 128 bit. Miễn phí, không cần đăng ký, và không có gì rời khỏi trình duyệt của bạn.
Chỉ các chữ số nhị phân, có thể có dấu trừ ở đầu. Khoảng trắng và dấu gạch dưới bị bỏ qua, nên 1011 0110 vẫn hợp lệ.
Kết quả
1 0010
Nhị phân
18
Thập phân
12
Thập lục phân
22
Bát phân
5 bit
Độ dài
Các bước tính
| Hàng | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|
| Số nhớ vào | 1 | 1 | 0 | 1 | 0 |
| A | 0 | 1 | 1 | 0 | 1 |
| B | 0 | 0 | 1 | 0 | 1 |
| Tổng | 1 | 0 | 0 | 1 | 0 |
Cách Sử Dụng Công Cụ Tính Nhị Phân
- 1. Chọn loại phép tính. Số học thực hiện cộng, trừ, nhân hoặc chia. Theo bit làm việc trên từng bit của các mẫu có độ rộng cố định.
- 2. Nhập các số. Chỉ dùng 0 và 1. Dấu trừ ở đầu, tiền tố
0b, khoảng trắng và dấu gạch dưới đều được chấp nhận, nên1011 0110được đọc là một số. - 3. Chọn độ rộng (chỉ với theo bit). NOT, dịch bit và xoay bit không có nghĩa nếu không có độ rộng, nên công cụ yêu cầu bạn chọn: 4, 8, 16, 32, 64 hoặc 128 bit.
- 4. Đọc kết quả và các bước tính. Đáp số hiện ở dạng nhị phân, thập phân, thập lục phân và bát phân, với các bước tính theo cột ở bên dưới.
Phép Cộng Nhị Phân Hoạt Động Như Thế Nào
Phép cộng nhị phân theo cùng quy tắc theo cột như phép cộng thập phân, nhưng một cột tràn ở 2 thay vì 10. Cộng hai bit trong một cột với số nhớ nào đến từ bên phải. Nếu tổng là 0 hoặc 1, ghi nó xuống. Nếu là 2 hoặc 3, ghi bit thấp (0 hoặc 1) và nhớ 1 sang cột kế tiếp.
| Tổng cột | Bit được ghi | Số nhớ ra |
|---|---|---|
| 0 + 0 + 0 = 0 | 0 | 0 |
| 1 + 0 + 0 = 1 | 1 | 0 |
| 1 + 1 + 0 = 10 (2) | 0 | 1 |
| 1 + 1 + 1 = 11 (3) | 1 | 1 |
Lấy 1101 (13) cộng 101 (5). Công cụ đệm cả hai số thành năm cột và hiển thị số nhớ đi vào từng cột — 11010 từ trái sang phải — cho ra 10010, tức 18. Hàng số nhớ là phần người ta hay quên khi cộng bằng tay.
Phép Trừ, Nhân và Chia
Phép trừ làm ngược lại: khi một cột cần 1 − 1 − 1 hoặc 0 − 1, nó mượn 1 từ cột bên trái, có giá trị bằng 2 ở đây. 1000 − 0011 cho thấy một số mượn lan qua ba cột và kết thúc ở 0101 (8 − 3 = 5). Khi A nhỏ hơn B, công cụ trừ số nhỏ khỏi số lớn và gắn dấu trừ cho kết quả.
Phép nhân là dịch và cộng. Mỗi bit 1 trong số nhân đóng góp một bản sao của số bị nhân, dịch sang trái theo vị trí của bit đó, còn bit 0 thì không đóng góp gì. Với 1011 × 101 (11 × 5), các bit 1 nằm ở vị trí 0 và 2, nên các tích riêng là 1011 và 101100, và tổng của chúng là 110111 — tức 55.
Phép chia là phép chia dài với một bước đoán rất dễ. Hạ xuống từng bit của số bị chia; nếu số chia vừa với những gì bạn đang có, trừ đi và ghi 1 vào thương, nếu không thì ghi 0. 1100100 ÷ 111 (100 ÷ 7) cho thương 1110 (14) và số dư 10 (2). Với toán hạng âm, thương được làm tròn về 0 và số dư mang dấu của A, như trong C, Java và JavaScript.
Phép Toán Theo Bit Với Độ Rộng Đã Chọn
| A | B | AND | OR | XOR | NAND | NOR | XNOR |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
Với 1100 và 1010 ở 4 bit, AND cho 1000, OR cho 1110 và XOR cho 0110. NOT lật mọi bit trong độ rộng, nên cùng 1100 thành 0011 ở 4 bit nhưng thành 11110011 ở 8 bit — đó là lý do độ rộng quan trọng.
Dịch trái n vị trí đưa mọi bit lên cao n vị trí và lấp đầy bằng số 0; các bit rơi khỏi đỉnh bị mất, và công cụ liệt kê chúng. Dịch phải logic lấp đầy bằng số 0. Dịch phải số học sao chép bit cao nhất, nên một số âm vẫn âm: 10110110 dịch phải 2 vị trí là 00101101 theo logic, nhưng là 11101101 (−19) theo số học. Xoay bit đưa các bit rơi khỏi một đầu quay lại đầu kia, nên không mất bit nào.
Không tràn số trong chế độ số học
Số học ở đây chính xác với độ dài bất kỳ, nên 11111111 + 1 là 100000000, không phải 0. Phần cứng thực tế giữ một số bit cố định và tràn vòng. Để thấy hành vi đó — và các miền có dấu đi kèm — hãy dùng Công cụ tính bù hai.
Những Lỗi Thường Gặp
- Quên số nhớ vào cột ngoài cùng bên trái. Cộng hai số 8 bit có thể cho đáp số 9 bit. Công cụ giữ cột thừa đó.
- Nhầm lẫn dịch phải logic và số học. Chúng giống nhau với số dương và khác nhau với mọi mẫu có bit cao nhất là 1. Các ngôn ngữ khác nhau:
>>của Java là số học và>>>là logic, còn C để>>trên một số có dấu âm cho trình biên dịch quyết định (số học trên các trình biên dịch phổ biến). - Vô tình đọc một mẫu bit như số có dấu.
11110011là 243 nếu không dấu và −13 theo bù hai. Các kết quả theo bit đều hiển thị cả hai để bạn biết mình muốn số nào. - Cho rằng NOT không phụ thuộc độ rộng. Trong một số nguyên không giới hạn, NOT của 12 là −13. Trong một độ rộng cố định, nó là mẫu bù, đó là điều công cụ này trả về.
Câu Hỏi Thường Gặp
- Làm sao để cộng số nhị phân?
- Làm việc từ cột ngoài cùng bên phải sang trái, cộng hai bit và số nhớ nào có. Tổng cột 0 hoặc 1 được ghi nguyên; tổng 2 được ghi là 0 với số nhớ 1, và tổng 3 là 1 với số nhớ 1. Ví dụ, 1101 + 101 = 10010. Công cụ hiển thị số nhớ đi vào mọi cột.
- Làm sao để trừ số nhị phân?
- Trừ theo cột từ bên phải. Khi một cột sẽ xuống dưới không, mượn 1 từ cột kế bên trái, tức cộng 2 vào cột hiện tại. Nếu số thứ hai lớn hơn, trừ theo thứ tự ngược lại và gắn dấu trừ cho đáp số. 1000 − 11 = 101 (8 − 3 = 5).
- Dịch phải logic và dịch phải số học khác nhau thế nào?
- Dịch phải logic lấp đầy các bit cao bị bỏ trống bằng số 0, nên coi mẫu như số không dấu. Dịch phải số học sao chép bit cao nhất gốc, nên một số bù hai âm vẫn âm. Cả hai đều chia đôi giá trị, nhưng chỉ dịch số học làm tròn đúng với giá trị âm.
- AND, OR và XOR làm gì?
- Chúng so sánh hai mẫu bit theo từng cột. AND cho 1 chỉ khi cả hai bit đều là 1, OR cho 1 khi ít nhất một bit là 1, và XOR cho 1 khi đúng một bit là 1. AND dùng để che bớt bit, OR để đặt bit, và XOR để lật bit hoặc so sánh khác biệt.
- Công cụ này có xử lý được số nhị phân âm không?
- Trong chế độ số học, có: thêm dấu trừ ở đầu và các quy tắc dấu được áp dụng cho kết quả chính xác. Chế độ theo bit nhận mẫu bit thuần, vì mẫu của một số âm phụ thuộc vào độ rộng. Hãy dùng Công cụ tính bù hai để tìm mẫu của một giá trị âm.
- Tôi có thể nhập số nhị phân lớn đến đâu?
- Không có giới hạn cố định, vì phép tính dùng số nguyên độ chính xác tùy ý. Các bước tính theo cột được vẽ cho toán hạng tới 64 bit; vượt quá đó bạn vẫn nhận được kết quả chính xác nhưng không có bảng các bước. Các phép toán theo bit bị giới hạn bởi độ rộng đã chọn, tối đa 128 bit.