İçeriğe atla
%100 yerel

IEEE 754 dönüştürücü

Ondalık sayıyı IEEE 754 bit desenine dönüştürün, veya bitleri geri sayıya dönüştürün.

Giriş
Çıkış

IEEE 754 dönüştürücü

Bir bilgisayarın depoladığı her kayan noktalı sayı, aslında IEEE 754 standardına göre paketlenmiş bir işaret biti, bir üs ve bir mantistir — C, Java, Python ve JavaScript'in sayı türleri için kullandığı standar. Ondalık bir sayı yapıştırın, bu araç bunu tam bit desenine kodlar; bit desenini geri yapıştırın ve bunu tekrar sayıya çözer. Tek bir tıklamayla yönü değiştirin ve diğer yöne gidin.

İki hassasiyet desteklenir: 32 bitlik tek (1 işaret biti, 8 üs biti, 23 mantis biti — bir C float veya Rust f32) ve 64 bitlik çift (1 + 11 + 52 — bir C double ve JavaScript sayılarının dahili olarak ne olduğu). Bit deseni heksadesimal olarak veya 0 ve 1'in basit bir dizesi olarak yazılabilir, bayt sırası hata ayıklamasının veya bellek dökümünün bellekte nasıl görüntülendiğini eşleştirmek için big-endian veya little-endian olarak ayarlanabilir.

"İşaret / üs / mantisayı göster" öğesini açın, üç alanı ayrılmış olarak görmek için — bir sayının neden bu şekilde kodlandığını görmek için en hızlı yol. "Gerçek saklanan değeri ve yuvarlama hatası göster" öğesini açın, bir sayıya depolandıktan sonra neler olduğunu görmek için: 3,14 hiçbir hassasiyette tam değildir ve araç, gerçek saklanan değeri, yazdığınız ve donanımın tuttuğu değer arasındaki boşlukla birlikte gösterir — bu, koddaki kayan noktalı karşılaştırmaların neden başarısız olduğunun nedenidir. Özel değerler — 0, -0, Infinity, -Infinity ve NaN — hepsi tanımlanmış desenlerine dönüşür, satır başına bir tane, böylece tüm bir liste bir kerede dönüşür.

Her şey yerel olarak, tarayıcınızda çalışır, IEEE 754 kayan noktalı sayıları okumak ve yazmak için JavaScript motorunun kullandığı aynı DataView'i kullanarak — sunucu tarafı kayan noktalı kitaplığı yok ve veriler cihazınızdan çıkmıyor.

FAQ

IEEE 754 nedir?
Bilgisayarların ikili biçimde tamsayı olmayan sayıları nasıl depoladığını tanımlayan standart: bir işaret biti, bir üs ve bir mantis (kesir). Tek hassasiyet toplam 32 bit kullanır, çift hassasiyet 64 — C float ve double, Rust f32 ve f64 ile JavaScript sayılarının arkasındaki formatlar.
3,14 neden tam olarak 3,14'e geri çözülmüyor?
Çoğu ondalık kesir ikili biçimde tam olarak gösterilemez, tıpkı 1/3'ün ondalık biçimde tam olarak yazılamayacağı gibi. Gerçekten depolanan değer, biçimin tutabileceği en yakın değerdir — "Gerçek saklanan değeri göster" öğesini açın, onu ve boşluğun boyutunu görmek için.
Tek ve çift hassasiyet arasındaki fark nedir?
Tek hassasiyet (32 bit) mantis için daha az yer bırakır, bu nedenle daha fazla sayıyı yuvarlar ve daha fazla hassasiyet basamağını kaybeder. Çift hassasiyet (64 bit) çok daha fazla değer için kesindir — bu, JavaScript sayılarının zaten dahili olarak ne olduğudur, bu nedenle bu aracın aracılığıyla çifti geçirmek hiçbir zaman hiçbir şey kaybetmez.
Bayt sırası ne değiştirir?
Yalnızca aynı bitlerin okuma veya yazma için baytlara nasıl gruplandığını etkiler — big-endian en anlamlı baytı ilk olarak yazar, little-endian son olarak, bir hata ayıklamasının veya heksadesimal döküsünün belleği belirli bir mimaride nasıl görüntülediğini eşleştirerek. Sayının kendisi ve işaret / üs / mantis dökümü değişmez.
Girişim bir yere yükleniyor mu?
Hayır. Dönüştürme tamamen tarayıcınızda gerçekleşir, JavaScript motorunun kendisinin dayandığı aynı ikili okuma/yazma API'lerini kullanarak — burada yazdığınız hiçbir şey sunucuya gönderilmez.