UTILS.
%100 tarayıcıda
💾

IEEE-754 Kayan Nokta Dönüştürücü

Bir ondalık sayıyı IEEE-754 tek (32 bit) veya çift (64 bit) bit desenine dönüştürün/çözün ve işaret, üs ve mantis alanlarını ayrıştırın.

Yukarıya bir sayı veya bit deseni girin.

Bu araç hakkında

IEEE-754 Kayan Nokta Dönüştürücü, bir sayının bellekte 32 bit tek duyarlıklı veya 64 bit çift duyarlıklı float olarak tam olarak nasıl saklandığını gösterir ve bir ham bit desenini geri ondalık değerine çevirebilir. JavaScript typed array'lerini (Float32Array / DataView) kullanır, böylece bit deseni bir yaklaşım değil, gerçek donanım gösterimidir.

İleri modda deseni hex olarak ve üç alanına bölünmüş ikili olarak raporlar: işaret biti, üs (float32 için önyargı 127 ile 8 bit, float64 için önyargı 1023 ile 11 bit) ve mantis (23 veya 52 bit). Ayrıca önyargısız üssü çözer ve değeri normal, subnormal, sıfır, sonsuz veya NaN olarak sınıflandırır. Kritik olarak, bitlerden geri okunan tam saklanan değeri yazdırır — bu float32 için genellikle yazdığınızdan farklıdır ve kayan nokta yuvarlama hatasını görünür kılar. Örneğin 0.1 hiçbir duyarlıkta tam olarak saklanmaz.

Ters modda bir hex deseni (0x ile veya olmadan) veya tam genişlikli bir ikili dize yapıştırırsınız ve araç bu bitleri float olarak yeniden yorumlar ve elde edilen ondalık değeri artı aynı alan dökümünü gösterir. Her şey tarayıcınızda yerel olarak çalışır. Bu, yuvarlamayı anlamak, tek ile çift duyarlığı karşılaştırmak ve ±0, ±∞ ve NaN için özel kodlamaları incelemek için başvurulacak bir araçtır.

Sık sorulan sorular

Saklanan değer neden yazdığımdan farklı?
Çoğu ondalık kesir ikili kayan noktada tam olarak temsil edilemez, bu yüzden en yakın temsil edilebilir değer saklanır. Dönüştürücü bitleri geri okur ve o tam saklanan değeri gösterir, bu da yuvarlama hatasını açığa çıkarır — özellikle 32 bit tek duyarlıkta.
Alanlar nasıl düzenlenir?
Float32, 1 işaret biti, 8 üs biti (önyargı 127) ve 23 mantis biti kullanır; float64, 1 işaret biti, 11 üs biti (önyargı 1023) ve 52 mantis biti kullanır. Önyargısız üs, ham üs eksi önyargıya eşittir.
Sıfır, sonsuz ve NaN nasıl kodlanır?
Sıfır mantisli tümü sıfır bir üs ±0'dır ya da mantis sıfır değilse bir subnormal'dir. Tümü bir olan bir üs, mantis sıfır olduğunda ±sonsuz ve sıfır olmadığında NaN anlamına gelir. Araç her kategoriyi etiketler.
Bir bit deseninden geri bir sayıya gidebilir miyim?
Evet. Ters moda geçin ve 8 hex basamaklı (float32) veya 16 hex basamaklı (float64) bir desen ya da tam bir 32 veya 64 bitlik ikili dize yapıştırın; araç bu tam bitleri bir kayan nokta değeri olarak yeniden yorumlar.

Daha fazla araç