Cách chuyển thập phân sang hex online
- Nhập một số thập phân, hoặc một danh sách với mỗi dòng một số. Số âm và số có phần lẻ như
0.75cũng dùng được. - Kết quả hex hiện ra ngay lập tức, kèm theo giá trị nhị phân và bát phân. Bảng lời giải từng bước cho thấy mọi phép chia cho 16 cùng số dư của nó.
- Để lấy mã hex bù 2 của một số âm, hãy đánh dấu Có dấu (mã bù 2) và chọn số bit: −1 thành
FFvới 8 bit vàFFFFFFFFvới 32 bit.
Cách đổi hệ 10 sang hệ 16 bằng tay
Dùng phép chia liên tiếp cho 16:
- Chia số đó cho 16 và ghi lại số dư (0–15).
- Tiếp tục chia thương cho 16, lặp lại cho đến khi thương bằng 0.
- Viết mỗi số dư thành một chữ số hex (10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F) rồi đọc chúng từ số dư cuối cùng đến số dư đầu tiên.
Ví dụ: chuyển 6719 sang hex.
| Phép chia | Thương | Số dư |
|---|---|---|
| 6719 ÷ 16 | 419 | 15 = F |
| 419 ÷ 16 | 26 | 3 |
| 26 ÷ 16 | 1 | 10 = A |
| 1 ÷ 16 | 0 | 1 |
Đọc các số dư từ dưới lên trên, ta được 1A3F. Kiểm tra: 1 × 4096 + 10 × 256 + 3 × 16 + 15 = 6719.
Chuyển phần thập phân sang hex
Với phần sau dấu chấm thập phân, hãy nhân với 16 thay vì chia: phần nguyên của mỗi tích là chữ số hex tiếp theo. 0.75 × 16 = 12, nên 0.75 = 0.C trong hệ hex.
Một số phân số không bao giờ kết thúc trong hệ hex. 0.1 × 16 = 1.6 cho chữ số 1, sau đó 0.6 × 16 = 9.6 cho chữ số 9, và chữ số 9 cứ lặp lại mãi, nên 0.1 = 0.1999…. Công cụ làm tròn những giá trị như vậy đến 12 chữ số hex (0.19999999999A) và đánh dấu chúng bằng ≈.
Số thập phân âm trong hệ hex (mã bù 2)
Máy tính lưu số âm −n trong w bit dưới dạng 2ʷ − n. Để tìm dãy bit này, hãy cộng 2ʷ vào giá trị âm rồi chuyển kết quả sang hex: −26 với 8 bit là 256 − 26 = 230 = E6.
| Thập phân | 8 bit | 16 bit | 32 bit |
|---|---|---|---|
| −1 | FF | FFFF | FFFFFFFF |
| −2 | FE | FFFE | FFFFFFFE |
| −26 | E6 | FFE6 | FFFFFFE6 |
| −128 | 80 | FF80 | FFFFFF80 |
Câu hỏi thường gặp
255 trong hệ hex là bao nhiêu?
255 trong hệ hex là FF: 255 ÷ 16 = 15 dư 15, rồi 15 ÷ 16 = 0 dư 15, và cả hai số dư đều được viết là F. FF là giá trị lớn nhất của một byte.
Làm sao để chuyển thập phân sang hex trong Excel, Python hoặc JavaScript?
Excel và Google Sheets: =DEC2HEX(255) cho kết quả FF. Python: format(255, 'X') cho FF và hex(255) cho 0xff. JavaScript: (255).toString(16) cho ff. Trong Excel, số âm được trả về dưới dạng mã bù 2 gồm 10 chữ số: =DEC2HEX(-1) là FFFFFFFFFF.
Vì sao 0.1 không chuyển chính xác sang hex được?
Vì 1/10 không thể viết thành tổng hữu hạn của các phần mười sáu, phần 256, v.v., nên các chữ số hex của nó lặp lại mãi mãi (0.1999…), giống như 1/3 = 0.333… trong hệ thập phân. Các phân số tạo từ một phần hai, một phần tư, một phần tám hoặc một phần mười sáu thì chính xác: 0.5 = 0.8 và 0.75 = 0.C trong hệ hex.
Có thể chuyển đổi các số rất lớn không?
Có. Công cụ dùng số học với độ chính xác tùy ý, nên 18446744073709551616 (2⁶⁴) cho kết quả chính xác 10000000000000000 – vượt xa giới hạn 2⁵³ của số JavaScript thông thường.