Công cụ
VI

Máy tính hex – máy tính thập lục phân online

Máy tính thập lục phân cho phép cộng, trừ, nhân, chia, cùng các phép toán bit AND, OR, XOR, NOT và phép dịch bit. Số có độ lớn bất kỳ đều được tính chính xác, và kết quả âm còn được hiển thị dưới dạng mã bù 2.

Thập lục phân
Thập phân
Nhị phân

Riêng tư: dữ liệu của bạn được xử lý ngay trong trình duyệt và không bao giờ được tải lên.

Cách dùng máy tính hex

  1. Nhập hai số hex, ví dụ 8AB và B78. Có thể dùng dấu trừ và các tiền tố như 0x.
  2. Chọn phép toán. Kết quả cập nhật ngay lập tức ở dạng hex, thập phân và nhị phân; phép chia còn hiển thị cả số dư.
  3. Với kết quả âm và phép NOT, hãy chọn số bit (8, 16, 32 hoặc 64 bit) để xem giá trị mã bù 2.

Cách cộng số hex

Cộng các chữ số theo từng cột từ phải sang trái, giống hệt như trong hệ thập phân. Điểm khác duy nhất: khi tổng của một cột từ 16 trở lên, hãy viết tổng trừ 16 và nhớ 1 sang cột tiếp theo. Ví dụ: 8AB + B78.

CộtChữ sốTổngViếtNhớ
16⁰B + 811 + 8 = 1931
16¹A + 7 + 110 + 7 + 1 = 1821
16²8 + B + 18 + 11 + 1 = 2041
16³nhớ11–

Đọc các chữ số đã viết từ cột cao nhất xuống cột thấp nhất, ta được 1423. Kiểm tra bằng hệ thập phân: 2219 + 2936 = 5155 = 1423 hex.

Phép trừ hex, kết quả âm và mã bù 2

Phép trừ dùng cách mượn: nếu chữ số ở trên nhỏ hơn, hãy mượn 16 từ cột kế tiếp. B78 − 8AB: 8 − B cần mượn, 8 + 16 − 11 = 13 = D; tiếp theo 7 − 1 − A cần mượn, 6 + 16 − 10 = 12 = C; cuối cùng B − 1 − 8 = 2, nên kết quả là 2CD.

Nếu số thứ hai lớn hơn, kết quả sẽ là số âm. Công cụ hiển thị kết quả với dấu trừ (5 − 8 = −3) và cả dưới dạng dãy bit mà máy tính thực sự lưu trữ: trong mã bù 2 8 bit, −3 là 2⁸ − 3 = 253 = FD, với 16 bit là FFFD. Khi tính bằng tay, để đổi dấu một số, hãy đảo tất cả các bit rồi cộng 1: 03 = 0000 0011 → 1111 1100 → 1111 1101 = FD.

Phép toán bit: AND, OR, XOR, NOT và phép dịch bit

Các phép toán bit so sánh các số theo từng bit, vì vậy lập trình viên dùng chúng cho cờ (flag), mặt nạ (mask) và phân quyền. Ví dụ với 3C = 0011 1100 và 0F = 0000 1111:

Phép toánQuy tắcKết quả
3C AND 0F1 chỉ khi cả hai bit đều là 10C
3C OR 0F1 khi ít nhất một bit là 13F
3C XOR 0F1 khi hai bit khác nhau33
NOT 3C (8 bit)đảo mọi bitC3
3C << 1dịch trái = nhân 278
3C >> 2dịch phải = chia 40F

Câu hỏi thường gặp

Nhân số hex như thế nào?

Giống như trong hệ thập phân, nhưng mọi tích riêng phần đều được viết ở hệ 16. Thường thì dễ hơn nếu chuyển sang hệ thập phân, nhân rồi chuyển ngược lại: 1A × 10 = 26 × 16 = 416 = 1A0. Nhân với 10 hex (16) chỉ đơn giản là thêm một số 0 vào cuối, giống như nhân với 10 trong hệ thập phân.

Điều gì xảy ra khi chia số hex?

Máy tính hex thực hiện phép chia lấy phần nguyên và hiển thị thương cùng số dư: 1423 ÷ 10 = 142 dư 3. Phép chia cho 0 sẽ được báo lỗi.

Vì sao phép NOT cho kết quả khác nhau với số bit khác nhau?

NOT đảo mọi bit của một giá trị có kích thước cố định, nên kết quả phụ thuộc vào số bit: NOT 3C là C3 với 8 bit nhưng là FFC3 với 16 bit. Chế độ “Tự động” chọn độ rộng tiêu chuẩn nhỏ nhất (8, 16, 32 hoặc 64 bit) đủ chứa số đó.

Máy tính hex có xử lý được số lớn không?

Có. Mọi phép toán đều dùng số nguyên với độ chính xác tùy ý, nên các giá trị 64 bit, 128 bit và thậm chí dài hơn đều được tính chính xác, không bị tràn số hay làm tròn như máy tính bỏ túi thông thường.