Thập lục phân sang thập phân
Nhập hoặc dán một số thập lục phân vào Nhập số hex, và Kết quả thập phân sẽ hiện ra ngay khi bạn gõ. Kết quả chính xác với mọi độ dài, không bị giới hạn 64 bit hay 2^53. Tiền tố như 0x và #, dấu cách, dấu phẩy và dấu gạch dưới đều bị bỏ qua, nên một chuỗi như 0xDE, 0xAD, 0xBE, 0xEF có thể dán nguyên vẹn. Việc chuyển đổi chạy ngay trong trình duyệt của bạn, không có gì được tải lên hay lưu lại.
Chuyển hex sang thập phân: các bước
- Nhập hoặc dán số hex của bạn vào Nhập số hex, ví dụ
0xFFhoặcDE AD BE EF. - Đọc Kết quả thập phân. Kết quả cập nhật sau mỗi lần bạn nhấn phím, nên không có nút chuyển đổi.
- Chọn Sao chép số thập phân để đưa số vào bộ nhớ tạm. Nút sẽ hiện Đã sao chép trong chốc lát để xác nhận.
- Với số dài, hãy bật Nhóm chữ số bằng dấu phân cách để chia kết quả thành từng nhóm ba chữ số, dùng dấu phân cách của ngôn ngữ trang. Tùy chọn này mặc định đang tắt, nên số được sao chép chỉ gồm chữ số nếu bạn không bật nó.
- Chọn Xóa, nút xuất hiện khi đã có nội dung nhập, để bắt đầu lại.
Bạn có thể dán gì vào ô hex
Dấu cách, dấu phẩy, dấu chấm phẩy và dấu gạch dưới được coi là dấu ngăn cách và bị bỏ đi. Mỗi đoạn có thể bắt đầu bằng 0x hoặc #. Chữ hoa hay chữ thường đều được, số 0 ở đầu cũng vậy.
FFđược đọc làFF: 2550x1F4được đọc là1F4: 500DE AD BE EFvà0xDE, 0xAD, 0xBE, 0xEFđược đọc làDEADBEEF: 37359285590xBE_EFđược đọc làBEEF: 48879#FF8800được đọc làFF8800: 16746496
Mọi ký tự khác, chẳng hạn chữ G, dấu trừ, dấu chấm hay chữ h ở cuối, sẽ hiện thông báo "G" không phải chữ số hex. Hex dùng 0-9 và A-F. kèm ký tự tìm thấy, và Kết quả thập phân sẽ để trống cho đến khi bạn xóa ký tự đó.
Ví dụ chuyển đổi hex sang thập phân
FF= 255, giá trị lớn nhất của 8 bit1F4= 50010000= 65536, tức 16^47FFFFFFF= 2147483647, giá trị có dấu lớn nhất của 32 bitFFFFFFFF= 4294967295, giá trị không dấu lớn nhất của 32 bit20000000000000= 9007199254740992, tức 2^53, nơi số JavaScript thông thường bắt đầu mất chữ sốFFFFFFFFFFFFFFFF= 18446744073709551615, giá trị không dấu lớn nhất của 64 bitFFFFFFFFFFFFFFFFFFFF= 1208925819614629174706175, 20 chữ số, 80 bit
Cách đổi hex sang thập phân bằng tay
Hex là hệ cơ số 16. Mỗi chữ số có giá trị gấp 16 lần chữ số bên phải nó: các hàng tính từ phải sang là 1, 16, 256, 4096 và cứ thế tiếp tục. Hãy nhân mỗi chữ số với giá trị hàng của nó rồi cộng lại. Các chữ cái đại diện cho những số sau 9: A là 10, B là 11, C là 12, D là 13, E là 14 và F là 15.
Ví dụ với 1A3F: 1 x 4096 + 10 x 256 + 3 x 16 + 15 x 1 = 4096 + 2560 + 48 + 15 = 6719. Hãy nhập 1A3F vào Nhập số hex để kiểm tra. Làm tay sẽ chậm khi số có hơn vài chữ số, và đó là lúc một bộ chuyển đổi tỏ ra hữu ích.
Số hex lớn: 64 bit, 128 bit và dài hơn
Các bộ chuyển đổi dựa trên số dấu phẩy động thông thường chỉ giữ chính xác số nguyên đến 9007199254740991 (2^53 - 1); vượt qua mức đó, các chữ số cuối bị làm tròn. Trang này dùng JavaScript BigInt, nên một đoạn băm 64 bit, mã định danh 128 bit hay khóa 256 bit đều được chuyển thành giá trị thập phân chính xác, từng chữ số một.
Giới hạn là 50.000 chữ số hex. Vượt quá, một thông báo sẽ cho bạn biết đã nhập bao nhiêu chữ số và yêu cầu rút ngắn dữ liệu nhập.
Những việc bộ chuyển đổi này không làm
- Mọi giá trị đều được đọc là không dấu. Không có số âm, bù hai hay cách đọc có dấu, nên
FFFFFFFFlà 4294967295 chứ không phải -1. - Chỉ chuyển số nguyên. Hex có dấu chấm, như
1.8, bị từ chối. - Chỉ chuyển một chiều, từ hex sang thập phân. Để chuyển thập phân sang nhị phân, hãy dùng Dịch mã nhị phân.
- Mã màu như
#FF8800được đọc là một số duy nhất, không tách thành đỏ, xanh lục và xanh lam. - Các byte được đọc theo thứ tự bạn viết và không bao giờ bị đảo.
- Nếu hex của bạn là các byte của văn bản đã mã hóa chứ không phải một con số, Bộ chuyển đổi Base64 sẽ xử lý việc chuyển Base64 sang văn bản và ngược lại.
Câu hỏi thường gặp
Cách đổi hex sang thập phân như thế nào?
Nhập hoặc dán số hex vào "Nhập số hex" rồi đọc "Kết quả thập phân", kết quả cập nhật khi bạn gõ. Làm tay thì nhân mỗi chữ số với lũy thừa của 16, bắt đầu từ 1 ở bên phải, rồi cộng các kết quả: 1F4 là 1 x 256 + 15 x 16 + 4 = 500. Các chữ cái A đến F có giá trị từ 10 đến 15.
0xFF bằng bao nhiêu trong hệ thập phân?
255. F bằng 15, nên FF là 15 x 16 + 15 = 255, giá trị lớn nhất mà một byte có thể chứa. Tiền tố 0x chỉ đánh dấu đây là số hex và bị bỏ qua.
Làm sao để chuyển số hex lớn, như 64 bit hay 128 bit, sang thập phân?
Hãy dán nguyên vẹn. Việc chuyển đổi dùng JavaScript BigInt, nên không có giới hạn 64 bit hay 2^53 và kết quả chính xác, không bị làm tròn. FFFFFFFFFFFFFFFF (giá trị lớn nhất của 64 bit) cho ra 18446744073709551615, còn 32 chữ số F (giá trị lớn nhất của 128 bit) cho ra 340282366920938463463374607431768211455. Giới hạn là 50.000 chữ số hex.
Có nhập được tiền tố 0x, dấu cách và dấu phẩy không?
Có. Dấu cách, dấu phẩy, dấu chấm phẩy và dấu gạch dưới được coi là dấu ngăn cách và bị bỏ đi, và mỗi đoạn có thể bắt đầu bằng 0x hoặc #. Vì vậy 0xDE, 0xAD, 0xBE, 0xEF, DE AD BE EF và 0xDEADBEEF đều cho ra 3735928559. Chữ hoa, chữ thường và số 0 ở đầu đều dùng được.
Chuyển hex sang số thập phân với mã màu thì làm thế nào?
Dán mã màu, có hoặc không có #. #FF8800 cho ra 16746496, vì sáu chữ số được đọc thành một số duy nhất. Nếu bạn muốn các giá trị đỏ, xanh lục và xanh lam riêng, hãy chuyển từng cặp một: FF là 255, 88 là 136 và 00 là 0.
Có chuyển được hex có dấu sang thập phân không?
Không. Mọi giá trị đều được đọc là số không dấu, nên FFFFFFFF cho ra 4294967295 chứ không phải -1. Để đọc có dấu 32 bit với giá trị bắt đầu bằng chữ số từ 8 đến F, bạn tự trừ 4294967296 khỏi kết quả. Dấu trừ trong dữ liệu nhập sẽ bị từ chối.
Có chuyển được hex little-endian sang thập phân không?
Các chữ số được đọc đúng như đã viết, chữ số ngoài cùng bên trái là chữ số có trọng số cao nhất, và các byte không bao giờ bị sắp xếp lại. Nếu dữ liệu của bạn là little-endian, hãy đảo thứ tự byte trước: 78 56 34 12 thành 12 34 56 78, và số này chuyển thành 305419896.
Số hex tôi dán vào có bị tải lên đâu không?
Không. Việc chuyển đổi chạy trong tab trình duyệt của bạn, và mọi thứ bạn gõ không được tải lên hay lưu lại.