Chuyển đổi từ HEX sang nhị phân

Mỗi chữ số thập lục phân đều tương ứng chính xác với 4 bit, do đó chuyển đổi từ thập lục phân sang nhị phân là phép chuyển đổi cơ số gọn gàng nhất. Bạn chỉ cần dán một hoặc nhiều giá trị thập lục phân, công cụ này sẽ tạo chuỗi nhị phân trong đó mỗi chữ số được khai triển thành nibble 4 bit có bù số 0 ở đầu, rất hữu ích cho tài liệu về trường bit, các thanh ghi trong firmware và việc gỡ lỗi ở cấp độ thấp.

Cách chuyển số thập lục phân sang nhị phân

  1. 1

    Dán giá trị thập lục phân

    Nhập bất kỳ tổ hợp nào từ các chữ số 0–9 và các ký tự a–f; các tiền tố như `0x` và mọi dấu phân cách sẽ được loại bỏ tự động.

  2. 2

    Mỗi chữ số trở thành 4 bit

    Mỗi chữ số thập lục phân được khai triển thành dạng nhị phân 4 bit tương ứng, vì vậy đầu ra luôn có 4 bit cho mỗi chữ số.

  3. 3

    Số 0 đứng đầu luôn được giữ lại

    Mỗi nibble giữ nguyên đủ 4 bit để ranh giới byte luôn thẳng hàng; không có tùy chọn cắt bỏ.

  4. 4

    Sao chép chuỗi nhị phân

    Kết quả là một chuỗi `0/1` thuần túy được nhóm thành các nibble 4 bit, sẵn sàng để dán vào tài liệu, phần chú thích firmware hoặc máy tính.

Ánh xạ giữa thập lục phân và nhị phân

Thập lục phân là cách biểu diễn gọn gàng của dữ liệu nhị phân: 2 chữ số thập lục phân tương ứng với 1 byte, tức 8 bit. Việc chuyển đổi giữa hai dạng này diễn ra nhanh chóng trong đầu, vì mỗi chữ số thập lục phân chiếm đúng 4 bit.

Bảng tra cứu nibble

Thập lục phân Nhị phân Thập phân
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
A 1010 10
B 1011 11
C 1100 12
D 1101 13
E 1110 14
F 1111 15

Vì vậy, 0x2F trở thành 0010 1111.

Vì sao việc nhóm dữ liệu theo 4 bit quan trọng

Các kỹ sư khi đọc tài liệu tham khảo của STM32, AVR hoặc RISC-V thường mong đợi các thanh ghi được xếp thành nhóm 4 bit. Cách nhóm này cho thấy rõ rằng 0x8001 chỉ bật bit MSB và LSB, còn ở giữa không có bit nào.

Thứ tự byte và tiền tố

  • 0x là tiền tố thập lục phân theo kiểu C; &H thuộc BASIC cũ hơn; $ được dùng trong hợp ngữ 6502. Bộ chuyển đổi loại bỏ cả ba dạng này, cùng với mọi ký tự không phải thập lục phân khác như dấu cách, dấu gạch ngang hoặc dấu hai chấm.
  • Đầu ra nhị phân luôn đặt bit quan trọng nhất lên trước, tức thứ tự byte của mạng. Nếu hệ thống đích dùng little-endian, hãy hoán đổi các byte trước khi sắp xếp.
  • Mỗi chữ số thập lục phân luôn tạo đủ 4 bit, vì vậy giá trị thanh ghi 32 bit luôn cho ra đủ 32 bit. Không có tính năng cắt bỏ số 0 đứng đầu để bật hay tắt.

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

Không. 0xFF, 0xff0xFf đều được chuyển đổi thành cùng một giá trị 11111111. Bộ chuyển đổi xử lý chữ hoa và chữ thường giống nhau.

Bộ chuyển đổi này chỉ làm việc với giá trị tuyệt đối: dấu - đứng đầu không phải là ký tự thập lục phân nên bị loại bỏ, và -0x01 chuyển thành 0000 0001 giống như 0x01. Nếu cần đầu ra theo bù hai hoặc có dấu, hãy dùng một công cụ chuyên xử lý số có dấu.

Được. Hãy tách chúng bằng khoảng trắng hoặc dòng mới; bộ chuyển đổi sẽ loại bỏ dấu phân cách: 2A 3B tạo ra 0010 1010 0011 1011. Lưu ý đầu ra là một chuỗi liên tục, nên ranh giới giữa các giá trị nhập vào không được giữ lại.

Có. Mỗi chữ số thập lục phân luôn tạo đủ 4 bit và giữ lại các số 0 đứng đầu, vì vậy giá trị thanh ghi 32 bit như 0x80010000 sẽ cho ra 1000 0000 0000 0001 0000 0000 0000 0000, với ranh giới byte luôn thẳng hàng.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác