UTILS.
100% di peramban
💾

Konverter Floating-Point IEEE-754

Konversi angka desimal ke/dari pola bit IEEE-754 single (32-bit) atau double (64-bit) dan bedah bidang sign, exponent, dan mantissa.

Masukkan angka atau pola bit di atas.

Tentang alat ini

Konverter Floating-Point IEEE-754 menunjukkan persis bagaimana sebuah angka disimpan dalam memori sebagai float presisi tunggal 32-bit atau presisi ganda 64-bit, dan dapat membalikkan pola bit mentah kembali menjadi nilai desimalnya. Alat ini menggunakan typed array JavaScript (Float32Array / DataView) sehingga pola bit adalah representasi perangkat keras yang sesungguhnya, bukan perkiraan.

Dalam mode maju alat ini melaporkan pola sebagai heksadesimal dan sebagai biner yang dipecah menjadi tiga bidangnya: bit sign, exponent (8 bit dengan bias 127 untuk float32, 11 bit dengan bias 1023 untuk float64), dan mantissa (23 atau 52 bit). Alat ini juga mendekode exponent tak berbias dan mengklasifikasikan nilai sebagai normal, subnormal, nol, tak hingga, atau NaN. Yang terpenting, alat ini mencetak nilai tersimpan eksak yang dibaca kembali dari bit — yang untuk float32 sering berbeda dari yang Anda ketik, membuat galat pembulatan floating-point terlihat. Misalnya 0.1 tidak disimpan secara eksak dalam presisi mana pun.

Dalam mode terbalik Anda menempel pola hex (dengan atau tanpa 0x) atau string biner lebar penuh dan alat ini menafsirkan ulang bit-bit tersebut sebagai float dan menampilkan nilai desimal yang dihasilkan plus rincian bidang yang sama. Semuanya berjalan secara lokal di browser Anda. Ini adalah alat andalan untuk memahami pembulatan, membandingkan presisi tunggal versus ganda, dan memeriksa enkode khusus untuk ±0, ±∞, dan NaN.

Pertanyaan yang sering diajukan

Mengapa nilai tersimpan berbeda dari yang saya ketik?
Kebanyakan pecahan desimal tidak dapat direpresentasikan secara eksak dalam floating point biner, jadi nilai terwakilkan terdekat yang disimpan. Konverter membaca kembali bit dan menampilkan nilai tersimpan eksak itu, yang mengungkap galat pembulatan — terutama dalam presisi tunggal 32-bit.
Bagaimana bidang-bidang tersusun?
Float32 menggunakan 1 bit sign, 8 bit exponent (bias 127), dan 23 bit mantissa; float64 menggunakan 1 bit sign, 11 bit exponent (bias 1023), dan 52 bit mantissa. Exponent tak berbias sama dengan exponent mentah dikurangi bias.
Bagaimana nol, tak hingga, dan NaN dienkode?
Exponent seluruhnya nol dengan mantissa nol adalah ±0, atau subnormal jika mantissanya bukan nol. Exponent seluruhnya satu berarti ±tak hingga ketika mantissa nol dan NaN ketika bukan nol. Alat ini memberi label setiap kategori.
Bisakah saya beralih dari pola bit kembali ke angka?
Ya. Beralihlah ke mode terbalik dan tempel pola 8-digit-hex (float32) atau 16-digit-hex (float64), atau string biner 32- atau 64-bit penuh, dan alat ini menafsirkan ulang bit persis tersebut sebagai nilai floating-point.

Alat lainnya