Máy tính nhị phân
Máy tính nhị phân cho số nguyên mọi độ lớn: cộng, trừ, nhân, chia, AND, OR, XOR, NOT và dịch bit, kết quả ở dạng nhị phân, hex, thập phân và bát phân.
Chọn 8/16/32/64-bit để xem dạng bù hai (hữu ích cho NOT và số âm).
Kết quả
- Số nguyên độ chính xác tùy ý (BigInt). Phép chia làm tròn về phía 0. Khi chọn độ rộng bit, kết quả được cắt theo số bit và hiển thị dạng bù hai.
Máy tính nhị phân là gì?
Thực hiện các phép toán số học và phép toán bit trên hai số nhị phân có độ dài bất kỳ, hiển thị kết quả ở dạng nhị phân (nhóm theo khối 4 bit), thập lục phân, thập phân và bát phân. Độ rộng 8/16/32/64 bit tùy chọn cho phép xem kết quả dạng bù hai.
Cách sử dụng Máy tính nhị phân
- Nhập Số A ở dạng nhị phân (cho phép tiền tố
0b, dấu cách và dấu gạch dưới). - Chọn Phép toán: +, −, ×, ÷, mod, AND, OR, XOR, NOT, << hoặc >>.
- Nhập Số B (không cần với NOT) và tùy chọn Độ rộng bit.
Ví dụ
1010 + 0110
1 0000 (hex 10, decimal 16, octal 20)
Khi nào nên dùng Máy tính nhị phân
Dùng cho bài tập logic số, bit mask, cờ (flag) và kiểm tra mã cấp thấp. Để chuyển một số giữa các hệ cơ số mà không cần tính toán, công cụ chuyển đổi hệ cơ số đơn giản hơn.
Máy tính nhị phân hoạt động như thế nào
Đầu vào được phân tích thành giá trị BigInt của JavaScript, nên không bị giới hạn 32 hay 53 bit. Phép chia làm tròn về phía 0 và mod giữ dấu của A, giống hầu hết ngôn ngữ lập trình. NOT là ~A = −A − 1. Khi chọn độ rộng bit w, kết quả được cắt bằng BigInt.asUintN(w) và hiển thị dạng mẫu bit không dấu, kèm giá trị thập phân có dấu (bù hai). Số bit dịch giới hạn trong khoảng 0–4096.
Các Trường Hợp Sử Dụng Phổ Biến
- Cộng số nhị phân và kiểm tra phép nhớ
- Tính mask bằng AND/OR/XOR
- Xem NOT 8 bit ở dạng bù hai
- Dịch giá trị sang trái hoặc phải
Câu Hỏi Thường Gặp
Số âm được hiển thị thế nào?
Khi không chọn độ rộng bit, chúng hiển thị với dấu trừ (−101). Khi có độ rộng, chúng hiển thị dạng mẫu bit bù hai kèm giá trị thập phân có dấu.
Vì sao NOT 101 lại cho số âm?
Với độ rộng không giới hạn, NOT lật vô số chữ số 0 ở đầu, cho ra −6. Chọn 8-bit để thấy 1111 1010 (250 không dấu, −6 có dấu).
Có giới hạn độ lớn không?
Gần như không: BigInt xử lý được hàng trăm chữ số. Chỉ số bit dịch bị giới hạn ở 4096 để kết quả hợp lý.