Alat Konversi Tipe Data | Konversi IEEE754 Floating-Point/Heksadesimal/Desimal/Dukungan Multi-Urutan Byte (Big Endian/Little Endian/Big Endian-Byte Swap/Little Endian-Byte Swap)/Konversi Real-time
Alat konversi tipe data profesional, mendukung konversi timbal balik antara IEEE754 floating-point dan heksadesimal/desimal, mencakup semua tipe data integer dan floating-point (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64), mendukung berbagai urutan byte (Big Endian (MSB first)/Little Endian (LSB first)/Big Endian-Byte Swap/Little Endian-Byte Swap), dengan tampilan hasil konversi secara real-time.
Hasil Konversi
| Tipe Data | ABCD (Big Endian) | DCBA (Little Endian) | BADC | CDAB |
|---|---|---|---|---|
UINT16 Integer 16-bit Tanpa Tanda | - | - | ||
INT16 Integer 16-bit Bertanda | - | - | ||
UINT32 Integer 32-bit Tanpa Tanda | - | - | - | - |
INT32 Integer 32-bit Bertanda | - | - | - | - |
FLOAT32 Floating Point 32-bit | - | - | - | - |
UINT64 Integer 64-bit Tanpa Tanda | - | - | - | - |
INT64 Integer 64-bit Bertanda | - | - | - | - |
FLOAT64 Floating Point 64-bit | - | - | - | - |
Panduan Pengguna
Gambaran Umum Fungsi
Alat Konversi Tipe Data dirancang khusus untuk konversi antara format data yang berbeda, mendukung konversi timbal balik antara heksadesimal dan desimal, mencakup berbagai tipe data integer dan floating-point dari 16-bit hingga 64-bit. Tipe data integer menggunakan representasi Two's Complement; angka floating-point menggunakan pengkodean IEEE‑754 (single precision 32-bit/double precision 64-bit), memungkinkan pengamatan intuitif terhadap pengaruh urutan byte pada hasil.
Fitur Utama:
- Konversi Format: Mendukung konversi timbal balik antara heksadesimal dan desimal
- Berbagai Tipe Data: Mendukung 8 tipe data umum (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64)
- Dukungan Urutan Byte: Mendukung 4 jenis urutan byte (ABCD/DCBA/BADC/CDAB) untuk menyesuaikan dengan kebutuhan urutan word perangkat dan register yang berbeda
- Konversi Real-time: Hasil konversi untuk semua tipe ditampilkan segera setelah data dimasukkan
Cara Penggunaan
- 1. Pilih format input: Desimal atau Heksadesimal
- 2. Masukkan nilai di kolom input
- 3. Lihat hasil konversi pada tabel di bawah
- 4. Hasil konversi yang di luar jangkauan akan ditampilkan sebagai '-'
Penjelasan Format Input
- Input desimal: Masukkan angka secara langsung, contoh: 123, -456, 3.14
- Input heksadesimal: Masukkan karakter heksadesimal, contoh: 7B, FF00, A1B2C3D4
- Format otomatis heksadesimal: Secara otomatis melengkapi input menjadi digit genap dan menambahkan spasi sebagai pemisah
Penjelasan Tipe Data
Tipe Integer:UINT16/INT16 berukuran 2 byte, UINT32/INT32 berukuran 4 byte, UINT64/INT64 berukuran 8 byte; integer bertanda menggunakan representasi komplemen dua (Two's Complement), di mana bit paling signifikan adalah bit tanda. Angka negatif didapat dengan mengambil komplemen dari nilai absolutnya (bitwise NOT + 1). Saat ditampilkan, ekstensi tanda dilakukan sesuai dengan lebar bit target.
Tipe Floating-Point:FLOAT32 adalah 4 byte single-precision (1 bit tanda + 8 bit eksponen + 23 bit mantissa, offset eksponen 127), FLOAT64 adalah 8 byte double-precision (1 bit tanda + 11 bit eksponen + 52 bit mantissa, offset eksponen 1023), keduanya sesuai dengan standar IEEE‑754. Mendukung nilai khusus seperti ±0, ±∞, dan NaN (Not a Number). Angka subnormal akan direpresentasikan dengan eksponen yang sangat kecil.
Batasan Rentang: Nilai yang melebihi rentang tipe data akan ditampilkan sebagai '-'
Penjelasan Urutan Byte
- ABCD: Big Endian, byte paling signifikan di depan (misalnya pada beberapa PLC/perangkat kontrol industri)
- DCBA: Little Endian, byte paling tidak signifikan di depan (misalnya pada sebagian besar arsitektur x86)
- BADC: Byte Swapped (pertukaran dalam langkah 16-bit, AB↔BA, CD↔DC), umum pada data 32-bit di mana dua byte ditukar
- CDAB: Byte Swapped (dalam grup 32-bit, dua byte depan dan belakang ditukar), kompatibel dengan beberapa urutan word register Modbus
Catatan: Urutan byte (Byte Endianness) dan urutan word register (Word Order) adalah konsep yang berbeda; untuk data 16-bit, hanya dua susunan ABCD dan DCBA yang relevan. Untuk data 64-bit, disarankan merujuk pada ilustrasi delapan byte ABCDEFGH untuk menghindari kebingungan.
Pengetahuan Konversi Data
Apa itu konversi tipe data?
Konversi tipe data adalah proses mengubah nilai yang sama antara format representasi yang berbeda, termasuk konversi antara sistem bilangan (desimal/heksadesimal) dan tipe data (integer/floating-point). Ini umum ditemukan dalam parsing nilai register dan pembuatan frame di skenario Modbus/PLC/embedded.
Format Floating-Point IEEE‑754 (Single/Double Precision)
Single precision (32-bit) = 1 bit tanda + 8 bit eksponen (offset 127) + 23 bit mantissa; Double precision (64-bit) = 1 bit tanda + 11 bit eksponen (offset 1023) + 52 bit mantissa. Mendukung ±0, ±∞, NaN; ketika eksponen semuanya 0 dan mantissa bukan 0, ini adalah angka subnormal, digunakan untuk merepresentasikan angka yang sangat kecil mendekati nol.
Komplemen Dua (Two's Complement) dan Integer Bertanda
Komplemen dua didapat dengan melakukan bitwise NOT pada nilai absolut lalu menambahkan 1, dengan bit paling signifikan sebagai bit tanda. Saat mengurai HEX ke tipe INT, ekstensi tanda harus dilakukan sesuai lebar bit; jika bit paling signifikan adalah 1, itu merepresentasikan angka negatif dan harus dikembalikan sesuai aturan komplemen dua.
Urutan Byte (Endianness) dan Urutan Word Register
Urutan byte mengontrol susunan byte dalam memori (ABCD/DCBA), sementara urutan word register mengontrol urutan word tinggi dan rendah dari register 16-bit (seperti BADC/CDAB). Keduanya seringkali mempengaruhi tampilan dan parsing data 32/64-bit secara bersamaan dan harus konsisten dengan dokumentasi perangkat.
Integer 64-bit dan Integer Aman JavaScript
Tipe Number di browser adalah double-precision IEEE‑754, dengan rentang integer aman ±(2^53‑1). Alat ini menggunakan BigInt untuk konversi dan tampilan dalam skenario 64-bit; ketika nilai melebihi rentang tipe data target atau ada risiko presisi, akan ditampilkan sebagai '-'.
Normalisasi Input HEX
Input HEX secara otomatis akan menghapus karakter non-heksadesimal, mengubahnya menjadi huruf besar, dan jika perlu menambahkan 0 di depan untuk memastikan jumlah digit genap; saat ditampilkan, dikelompokkan per dua karakter dengan spasi untuk meningkatkan keterbacaan.
Aturan untuk Desimal Floating-Point dan Tipe Integer
Ketika input desimal mengandung titik desimal dan targetnya adalah tipe integer, hasilnya akan ditampilkan sebagai '-'; konversi floating-point hanya akan dilakukan jika targetnya adalah FLOAT32/FLOAT64.
Kesalahpahaman Umum: Big/Little Endian vs Urutan Bit, Tampilan NaN/Infinity
Big/Little endian hanya mempengaruhi urutan byte, bukan urutan bit di dalam byte; NaN memiliki beberapa bentuk pengkodean tetapi semuanya ditampilkan sebagai NaN; ±0 dibedakan dalam IEEE‑754, tetapi biasanya setara dalam perbandingan numerik.
Skenario Aplikasi
- Konversi format data komunikasi Modbus
- Debugging tipe data PLC
- Konfigurasi parameter peralatan industri
- Analisis protokol komunikasi
- Pengembangan sistem akuisisi data
- Perhitungan nilai register perangkat
- Konversi antara floating-point dan integer
- Adaptasi format data antar perangkat