Chuyển Đổi HEX Sang DEC, BIN Online
Công cụ chuyển đổi HEX sang DEC, BIN và ngược lại giúp chuyển nhanh giá trị giữa hệ thập lục phân, thập phân và nhị phân. Ngoài phép chuyển đổi cơ bản, công cụ còn hỗ trợ kiểm tra BYTE, WORD, INT, DINT, DWORD và FLOAT 32-bit, phù hợp khi đọc dữ liệu PLC, thanh ghi Modbus và các giao thức truyền thông công nghiệp.
Chỉ cần chọn hệ đầu vào HEX, DEC hoặc BIN, nhập giá trị cần chuyển đổi. Kết quả tương ứng sẽ được tính tự động.
0xThử nhanh:Kết quả chuyển đổiHEXHệ 16—DECHệ 10—BINHệ 2—OCTHệ 8—ASCII0–127—Dữ liệu PLC / ModbusCùng giá trị · cách đọc khác nhauBYTE8 bitUnsigned—Signed INT8—WORD16 bit · 1 thanh ghiUInt16—Int16—DWORD32 bit · 2 thanh ghiUInt32—DINT / Int32—FLOAT / REALIEEE 754 · 32 bitFloat32 · ABCD—Thứ tự byte (byte order)Byte đầu vào—Byte dùng giải mã—ABCD: giữ nguyên thứ tự byte.A · B · C · D là 4 byte đầu vào từ trái sang phải (HEX đủ 8 ký tự; thiếu sẽ thêm 0 ở đầu). Chỉ Float32 đổi theo lựa chọn này; HEX / DEC / BIN và thanh ghi giữ giá trị đầu vào.Thử Float32 = 100.0:Phân tách thanh ghi 32 bitHữu ích khi đọc dữ liệu Float / DINT từ 2 thanh ghi ModbusHigh Word——Low Word——Byte 3 · 2 · 1 · 0 (MSB → LSB)—Binary / Bit View—Ghi nhớ: HEX, DEC và BIN là ba cách biểu diễn cùng một giá trị. Đối với PLC/Modbus, cùng 16 hoặc 32 bit có thể được giải mã thành WORD, INT, DINT hoặc FLOAT tùy thuộc vào định dạng của thiết bị.
HEX, DEC và BIN khác nhau như thế nào?

HEX, DEC và BIN là ba cách biểu diễn cùng một giá trị số.
| Hệ đếm | Cơ số | Ký tự sử dụng | Ví dụ |
|---|---|---|---|
| BIN | 2 | 0, 1 | 11111111 |
| DEC | 10 | 0–9 | 255 |
| HEX | 16 | 0–9, A–F | FF |
Ví dụ: HEX FF = DEC 255 = BIN 11111111
Giá trị thực tế không thay đổi. Khác biệt chỉ nằm ở cách biểu diễn.
DEC – hệ thập phân
DEC hay Decimal là hệ cơ số 10 được sử dụng phổ biến trong tính toán và hiển thị giá trị cho người dùng.
Ví dụ:255 DEC
BIN – hệ nhị phân
BIN hay Binary sử dụng hai trạng thái 0 và 1.
Trong PLC và hệ thống điều khiển, Binary đặc biệt hữu ích khi kiểm tra từng bit của:
- Digital Input / Output
- Status Word
- Alarm Word
- Control Word
- thanh ghi Modbus
Ví dụ:255 DEC = 11111111 BIN
Tương ứng 8 bit đều bằng 1.
HEX – hệ thập lục phân
HEX hay Hexadecimal là hệ cơ số 16, sử dụng các ký tự:
0 1 2 3 4 5 6 7 8 9 A B C D E F
HEX giúp biểu diễn dữ liệu nhị phân ngắn gọn hơn nên thường gặp khi kiểm tra:
- thanh ghi PLC
- Modbus register
- địa chỉ bộ nhớ
- Status Word
- Bit Mask
- mã lỗi
- frame truyền thông
Ví dụ:11111111 BIN = FF HEX
Thay vì đọc 8 bit Binary, kỹ sư chỉ cần nhìn FF.
BYTE, WORD, INT, DINT và FLOAT khác nhau thế nào?
HEX, DEC và BIN chỉ là cách biểu diễn giá trị.
BYTE, WORD, INT, DINT và FLOAT lại mô tả cách dữ liệu được diễn giải.
Đây là điểm rất quan trọng khi đọc dữ liệu từ PLC hoặc Modbus.
| Kiểu dữ liệu | Số bit | Số Modbus register | Đặc điểm |
|---|---|---|---|
| BYTE | 8 bit | — | Dữ liệu 8 bit |
| WORD / UINT16 | 16 bit | 1 | Số nguyên không dấu |
| INT16 | 16 bit | 1 | Số nguyên có dấu |
| DWORD / UINT32 | 32 bit | 2 | Số nguyên 32 bit không dấu |
| DINT / INT32 | 32 bit | 2 | Số nguyên 32 bit có dấu |
| FLOAT / REAL | 32 bit | 2 | Số thực IEEE-754 |
Một Modbus Holding Register có 16 bit, vì vậy:
- WORD hoặc INT16 sử dụng 1 register
- DWORD, DINT hoặc FLOAT32 thường sử dụng 2 register
Tại sao cùng một HEX lại có thể cho ra nhiều giá trị?
Một chuỗi bit có thể được diễn giải theo nhiều kiểu dữ liệu khác nhau.
Ví dụ:FFFF HEX
Nếu đọc theo UINT16:FFFF = 65535
Nhưng nếu đọc theo INT16 có dấu:FFFF = -1
Dãy 16 bit hoàn toàn giống nhau. Khác biệt nằm ở cách PLC hoặc phần mềm diễn giải dữ liệu.
Đây là lý do khi đọc thanh ghi Modbus không nên chỉ biết địa chỉ register mà còn phải biết data type của thanh ghi đó.
Ví dụ chuyển HEX sang FLOAT32
Giả sử thiết bị trả về hai thanh ghi tạo thành giá trị:42C80000 HEX
Nếu dữ liệu được định nghĩa là IEEE-754 Float32, kết quả là:
42C80000 HEX = 100.0 FLOAT
Nhưng nếu cùng 32 bit này được đọc dưới dạng UINT32 thì kết quả sẽ hoàn toàn khác.
Vì vậy khi đọc dữ liệu PLC hoặc Modbus cần xác định chính xác thiết bị đang sử dụng:
- UINT16
- INT16
- UINT32
- INT32
- FLOAT32
High Word và Low Word trong Modbus
Giá trị 32 bit thường cần hai Modbus register 16 bit.
Ví dụ:42C80000có thể chia thành:
High Word: 42C8
Low Word: 0000
Hai Word này kết hợp lại tạo thành dữ liệu 32 bit.
Tuy nhiên, thứ tự Word và Byte có thể khác nhau giữa các thiết bị.
Một số thiết bị sử dụng:
- ABCD
- BADC
- CDAB
- DCBA
Vì vậy nếu đọc Float32 nhưng kết quả bất thường, cần kiểm tra thêm Byte Order / Word Order trong tài liệu Modbus của thiết bị.
Khi nào cần chuyển HEX sang BIN?
Chuyển HEX sang BIN đặc biệt hữu ích khi cần phân tích từng bit trong Status Word hoặc Control Word.
Ví dụ:0F HEX
tương ứng:0000 1111 BIN
Nhìn vào Binary có thể biết ngay 4 bit thấp đang ở trạng thái 1.
Cách này thường được sử dụng để kiểm tra:
- trạng thái Input / Output
- Alarm
- Warning
- Relay
- Enable / Disable
- trạng thái hoạt động của thiết bị
Ví dụ chuyển đổi nhanh
HEX FF bằng bao nhiêu DEC?
FF HEX = 255 DEC
và:
FF HEX = 11111111 BIN
HEX 1234 bằng bao nhiêu DEC?
1234 HEX = 4660 DEC
HEX FFFF bằng bao nhiêu?
Nếu đọc theo UINT16:
FFFF HEX = 65535
Nếu đọc theo INT16:
FFFF HEX = -1
42C80000 là bao nhiêu FLOAT?
Nếu sử dụng chuẩn IEEE-754 Float32:
42C80000 HEX = 100.0
Câu hỏi thường gặp
Một Modbus register có bao nhiêu bit?
Một Modbus register có 16 bit, tương đương 2 byte. Vì vậy một giá trị Float32 hoặc DINT 32-bit thường cần hai register liên tiếp.
WORD và INT có giống nhau không?
Cả hai đều có thể sử dụng 16 bit nhưng cách diễn giải khác nhau. WORD hoặc UINT16 thường là số không dấu, trong khi INT16 có thể biểu diễn cả số âm và số dương.
FLOAT32 cần bao nhiêu Modbus register?
FLOAT32 sử dụng 32 bit nên thông thường cần 2 Modbus register 16-bit.
Tại sao đọc Float32 ra giá trị sai?
Nguyên nhân thường gặp là chọn sai kiểu dữ liệu hoặc sai thứ tự Byte/Word. Hãy kiểm tra tài liệu Modbus của thiết bị để xác định Float32 được truyền theo ABCD, BADC, CDAB hay DCBA.
Có cần nhập tiền tố 0x khi nhập HEX không?
0x thường được sử dụng để biểu thị rằng một số đang ở dạng hexadecimal, ví dụ 0xFF. Nếu công cụ đã được chọn chế độ HEX thì chỉ cần nhập giá trị FF.
