Chuyển đến nội dung

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.

Loại phép tính

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

Cộng theo cột với số nhớ
Hàng43210
Số nhớ vào11010
A01101
B00101
Tổng10010

Cách Sử Dụng Công Cụ Tính Nhị Phân

  1. 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. 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ên 1011 0110 được đọc là một số.
  3. 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. 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.

Bốn trường hợp của một cột đơn
Tổng cộtBit được ghiSố nhớ ra
0 + 0 + 0 = 000
1 + 0 + 0 = 110
1 + 1 + 0 = 10 (2)01
1 + 1 + 1 = 11 (3)11

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

Các phép toán theo bit với hai đầu vào
ABANDORXORNANDNORXNOR
00000111
01011100
10011100
11110001

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. 11110011 là 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.

Công Cụ Liên Quan

Thêm trong Dữ liệu, ngôn ngữ đánh dấu và mã