Máy tính hệ thập lục phân

Thực hiện các phép toán hệ thập lục phân và chuyển đổi giữa số thập phân và hex một cách chính xác.

Máy tính Hex
Thập phân → Hex
Hex → Thập phân

Máy tính này có hữu ích không?

★ ★ ★ ★ ★
4.9/5 (17 lượt bình chọn)

Ví dụ tính toán

Trường hợp tính toán Kết quả
Cộng Hex: 0xA + 0x5 0xF (Thập phân: 15)
Hex sang Thập phân: 0xFF 255
Thập phân sang Hex: 1000 0x3E8
Trừ Hex: 0x20 - 0x1 0x1F (Thập phân: 31)
Mihail Doncenco
Mihail Doncenco Người sáng lập trang web & Chuyên gia máy tính

Người sáng lập và phát triển CalcMate. Xây dựng và duy trì mọi công cụ tính toán trên trang web, tập trung vào độ chính xác của công thức và kết quả rõ ràng, thực tế.

Cách sử dụng máy tính Hex?

Nhập số đầu tiên (chữ số 0-9 và chữ cái A-F), chọn phép toán cộng, trừ, nhân hoặc chia, nhập số thứ hai rồi nhấp "Tính toán". Ví dụ, A + 5 cho F, tức 15 trong hệ thập phân.

Công cụ cũng là một trình chuyển đổi hex: chỉ nhập một giá trị để xem kết quả ở cả hệ hex và hệ thập phân, chẳng hạn FF là 255. Máy tính cơ số 16 này hữu ích cho lập trình viên làm việc với địa chỉ bộ nhớ, phép toán bitwise và mã màu HTML/CSS.

Cách thực hiện các phép tính và chuyển đổi hệ thập lục phân

Hệ thập lục phân (cơ số 16) dùng mười sáu ký hiệu 0-9 và A-F, với A là 10 và F là 15. Giá trị của một số được tính theo vị trí: \[N = \sum_{i=0}^{n} d_i \times 16^i\] Ví dụ, \(2B_{16} = 2 \times 16 + 11 = 43\). Để đổi thập phân sang hex, chia liên tiếp cho 16 và đọc số dư từ dưới lên: 1000 chia 16 được 62 dư 8, 62 chia 16 được 3 dư 14 (E), 3 chia 16 được 0 dư 3, cho \(3E8_{16}\).

Khi cộng, ta cộng từng cột từ phải sang trái và nhớ 1 khi tổng từ 16 trở lên: \(1F_{16} + 1_{16}\) cho cột đơn vị F + 1 = 16, viết 0 nhớ 1, kết quả \(20_{16}\). Khi trừ, ta mượn 16 từ cột kế tiếp: \(20_{16} - 1_{16} = 1F_{16}\), tức 31. Nhân và chia cho kết quả tương tự thập phân: \(F_{16} \times F_{16} = E1_{16}\) (15 nhân 15 bằng 225), và \(FF_{16} \div 10_{16} = F_{16}\) dư \(F_{16}\).

Hex phổ biến trong lập trình vì \(16 = 2^4\): một chữ số hex ứng với đúng 4 bit, nên một byte 8 bit viết bằng hai chữ số hex (00 đến FF). Màu #FF8000 là RGB (255, 128, 0), địa chỉ MAC và IPv6 viết bằng hex, và \(7FFFFFFF_{16} = 2^{31} - 1 = 2.147.483.647\) là số nguyên 32 bit có dấu lớn nhất. Với số có dấu, máy tính dùng bù hai: ở 8 bit, \(FF_{16}\) là 255 nếu không dấu nhưng là -1 nếu có dấu.

Ví dụ về phép cộng và chuyển đổi Hex

Mẹo hữu ích 💡

  • Chữ hoa hay chữ thường đều biểu diễn cùng một giá trị hex, và chữ hoa A-F thường được dùng trong tài liệu và nhật ký lỗi.
  • Đối chiếu đầu ra thập phân với tính tay để kiểm tra kết quả.
  • Để trống ô thứ hai để dùng công cụ như một trình chuyển đổi hex.

📋Các bước tính toán

  1. Nhập số đầu tiên ở định dạng hex hoặc thập phân.

  2. Chọn phép toán số học hoặc để trống nếu chỉ muốn chuyển đổi.

  3. Nhấp vào Tính toán để xem kết quả trong cả hai hệ số.

Những lỗi cần tránh ⚠️

  1. Dùng ký tự không hợp lệ như G hoặc Z trong số hex.
  2. Áp dụng quy tắc nhớ của cơ số 10 thay vì cơ số 16 (nhớ khi tổng từ 16 trở lên).
  3. Đọc nhầm thứ tự các số dư khi đổi thập phân sang hex thủ công.
  4. Bỏ qua ngữ cảnh bù hai (two's complement) khi làm việc với số hex có dấu.

Ứng dụng thực tiễn📊

  1. Tính độ lệch bộ nhớ (memory offsets) và địa chỉ con trỏ trong lập trình cấp thấp (C, Assembly).

  2. Chuyển đổi giá trị RGB thành mã màu hex cho thiết kế web và CSS, ví dụ (255, 128, 0) thành #FF8000.

  3. Xác minh các phép toán bitwise và mặt nạ bit trong khoa học máy tính.

  4. Kiểm tra nhanh hex sang số nguyên (hex to int) khi gỡ lỗi firmware.

Câu hỏi và Trả lời

Máy tính hex là gì?

Máy tính hex thực hiện các phép cộng, trừ, nhân, chia trực tiếp trong cơ số 16 và chuyển đổi giữa hex và thập phân. Ví dụ, \(FF_{16} = 255\) và \(A_{16} + 5_{16} = F_{16}\). Hex được dùng rộng rãi trong khoa học máy tính để biểu diễn địa chỉ bộ nhớ và mã màu.

Phép cộng hex hoạt động như thế nào?

Phép cộng hex cộng từng cột như thập phân, nhưng nhớ 1 khi tổng từ 16 trở lên thay vì từ 10. Nếu tổng là 15 trở xuống, bạn viết kết quả (dùng A-F cho 10-15); nếu từ 16 trở lên, trừ 16, viết số dư và nhớ 1 sang cột tiếp theo. Ví dụ, \(F + 1 = 10_{16}\) (16 trong thập phân), và \(1F_{16} + 1_{16} = 20_{16}\).

Làm thế nào để chuyển đổi thập phân sang hex?

Chia số thập phân liên tiếp cho 16, ghi số dư mỗi lần rồi đọc các số dư từ dưới lên. Ví dụ, 250 chia 16 được 15 dư 10, và 15 chia 16 được 0 dư 15, nên số dư đọc ngược là 15, 10, tức \(FA_{16}\). Kiểm tra lại: \(15 \times 16 + 10 = 250\).

Làm thế nào để chuyển đổi hex sang thập phân?

Nhân mỗi chữ số hex với 16 lũy thừa theo vị trí, bắt đầu từ \(16^0\) ở bên phải, rồi cộng lại. Ví dụ, \(2B_{16} = 2 \times 16^1 + 11 \times 16^0 = 32 + 11 = 43\), và \(3E8_{16} = 3 \times 256 + 14 \times 16 + 8 = 1000\).

Tại sao sử dụng hệ thập lục phân trong lập trình?

Vì hex là cách ngắn gọn và dễ đọc để biểu diễn dữ liệu nhị phân: \(16 = 2^4\), nên mỗi chữ số hex ứng với đúng 4 bit. Một byte 8 bit viết bằng hai chữ số hex từ 00 đến FF, còn số nguyên 32 bit viết bằng 8 chữ số hex. Vì vậy hex là định dạng quen thuộc cho địa chỉ bộ nhớ, màu RGB và dữ liệu mức bit.

Máy tính hex sử dụng công thức nào?

Công cụ dùng ký hiệu vị trí: \(Value = \sum_{i=0}^{n} d_i \times 16^i\), với \(d_i\) là giá trị của chữ số hex tại vị trí \(i\). Cộng và trừ dùng quy tắc nhớ và mượn theo cơ số 16. Ví dụ, \(FF_{16} = 15 \times 16 + 15 = 255\) và \(20_{16} - 1_{16} = 1F_{16} = 31\).
Lưu ý: Máy tính này được thiết kế để cung cấp các ước tính hữu ích cho mục đích thông tin. Mặc dù chúng tôi nỗ lực vì sự chính xác, kết quả có thể thay đổi tùy thuộc vào luật địa phương và hoàn cảnh cá nhân. Chúng tôi khuyên bạn nên tham khảo ý kiến của cố vấn chuyên môn cho các quyết định quan trọng.