Skip to content

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

Ondalık float değerleri IEEE 754 binary ve hex biçimine çevrimiçi dönüştürün — yarım, tek, çift duyarlık ve bfloat16. Saklanan tam değeri, yuvarlama hatasını ve bit düzenini görün. %100 tarayıcınızda çalışır.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Her şey tarayıcınızda yerel olarak çalışır — yazdığınız değerler bu cihazdan asla ayrılmaz.
Biçim
Özel değerler
Bit düzeni — çevirmek için herhangi bir bite tıklayın
İşaret Üs Mantis
Alan dökümü
İşaret
Üs
Mantis
Saklanan değer ve yuvarlama hatası
Girdiğiniz
Gerçekte saklanan
Yuvarlama hatası
Komşu temsil edilebilir değerler
Önceki
Sonraki
ULP (aralık boyutu)
IEEE 754 biçim parametrelerine bir bakış
Biçim Toplam bit sayısı İşaret Üs Mantis Sapma Maks sonlu değer Ondalık hane
binary16 (FP16)1615101565504~3.3
bfloat1616187127≈3.39×10³⁸~2.3
binary32 (FP32)321823127≈3.40×10³⁸~7.2
binary64 (FP64)64111521023≈1.80×10³⁰⁸~15.9
IEEE 754-2019 biçim tanımlarına karşı sayısal doğruluk açısından incelendi; her örnek değer kesin büyük tamsayı aritmetiğiyle doğrulandı — Go Tools Mühendislik Ekibi · Jul 16, 2026

IEEE 754 Kayan Nokta Nedir?

IEEE 754, bilgisayarların gerçek sayıları binary olarak nasıl sakladığını tanımlayan standarttır. Her değer üç alana paketlenir: bir işaret biti, bir üs (hem büyük hem küçücük büyüklükleri temsil edebilmesi için bir sapma değeriyle saklanır) ve anlamlı haneleri tutan bir mantis. Neredeyse her CPU, GPU ve programlama dili bu standardı kullanır; aynı yuvarlama sürprizlerinin JavaScript, Python, C ve SQL'de aynı şekilde ortaya çıkmasının nedeni budur.

Kilit nokta, binary kayan noktanın yalnızca m × 2ⁿ biçimindeki sayıları temsil edebilmesidir. 0.1 gibi ondalık kesirler 2 tabanında sonsuz devirli kesirlerdir — 0.000110011001100… — bu yüzden biçim, onun yerine en yakın temsil edilebilir komşuyu saklar. Tek duyarlıkta bu komşu 0.100000001490116119384765625'tir; çift duyarlıkta ise 0.1000000000000000055511151231257827021181583404541015625. İkisi de 0.1 değildir. Sonrasında yaşanan her tuhaflık — 0.1 + 0.2 ≠ 0.3, kayan toplamlar, başarısız eşitlik kontrolleri — bu tek gerçekten kaynaklanır ve bu dönüştürücü, geriye yuvarlanmış bir yaklaşıklık yerine saklanan tam değeri yazdırarak bunu görünür kılar.

Standart, özel değerler için de bit desenleri ayırır. Tamamı bir olan üs, ±Infinity (mantis sıfır) veya NaN (mantis sıfırdan farklı) kodlar; tamamı sıfır olan üs ise işaretli sıfır (mantis sıfır) veya sıfırın hemen yanındaki alttan taşma boşluğunu azaltılmış duyarlıkla dolduran subnormal sayıları (mantis sıfırdan farklı) kodlar. Bu aracın kapsadığı dört biçim — binary16/FP16, bfloat16, binary32/FP32, binary64/FP64 — yalnızca her alana kaç bit verdikleriyle ayrılır: daha fazla üs biti daha fazla aralık, daha fazla mantis biti daha fazla duyarlık demektir. Makine öğreniminin gözdesi bfloat16, mantisin alttaki 16 biti kesilmiş FP32'den ibarettir: aynı aralık, çok daha kaba duyarlık.

Yararlı bir zihinsel model şudur: temsil edilebilir float'lar, sayı doğrusu üzerinde aralığı — son basamaktaki bir birim, yani ULP — her 2 kuvvetinde ikiye katlanan bir ızgara oluşturur. 1.0 civarında bir double'ın ızgara aralığı yaklaşık 2.22 × 10⁻¹⁶'dır; 2⁵³ civarında ise tam bir tamsayıdır — double'ların 2⁵³'ün ötesini güvenilir biçimde sayamamasının nedeni budur. Bu araçtaki komşular paneli o ızgarayı doğrudan gösterir: yazdığınız değerin çevresindeki önceki ve sonraki temsil edilebilir değerler, aralarındaki tam boşlukla birlikte.

// Float ↔ hex through the raw IEEE 754 bits (works in any browser / Node.js)
const buf = new DataView(new ArrayBuffer(8));

function floatToHex32(value) {
  buf.setFloat32(0, value); // rounds to nearest even
  return '0x' + buf.getUint32(0).toString(16).toUpperCase().padStart(8, '0');
}

function hexToFloat32(hex) {
  buf.setUint32(0, parseInt(hex, 16));
  return buf.getFloat32(0);
}

floatToHex32(0.1);        // '0x3DCCCCCD'
floatToHex32(3.14159);    // '0x40490FD0'
hexToFloat32('3DCCCCCD'); // 0.10000000149011612

Temel Özellikler

Dört biçim, tek görünüm

Yarım (FP16), bfloat16, Tek (FP32) ve Çift (FP64) — tek tıklamayla geçiş yapın; tüm sayfa yeniden hesaplanır, böylece aynı sayının her biçimde nereye düştüğünü karşılaştırmak saniyeler alır.

Tıklanabilir bit ızgarası

Her bit bir düğmedir. İşareti çevirin, üssü bir kademe oynatın veya bir mantis bitine dokunun; ondalık, hex ve binary görünümlerin anında güncellendiğini izleyin — kodlamaya dair sezgi geliştirmenin en hızlı yolu.

Yaklaşıklık değil, saklanan tam değer

Araç, saklanan bitlerin tam ondalık açılımını kesin büyük tamsayı aritmetiğiyle hesaplar — bir double'daki 0.1 için 55 hanenin tamamı — ayrıca yazdığınız değere karşı işaretli tam yuvarlama hatasını verir.

Komşular ve ULP

Geçerli sayının çevresindeki önceki ve sonraki temsil edilebilir değerleri ve aralarındaki tam boşluğu (ULP) görün — herhangi bir büyüklükte gerçekte ne kadar duyarlığa sahip olduğunuzu belirleyen ızgara aralığı.

Özel değerler bir tık uzakta

Çipler ±0, ±Infinity, NaN, en küçük subnormal ve seçili biçimin en büyük sonlu değerini yükler; sınıflandırma rozeti geçerli bit deseninin neyi kodladığını adlandırır.

Paylaşılabilir kalıcı bağlantılar, sıfır yükleme

Bağlantıyı kopyala, biçimi ve tam bit desenini URL'ye kodlar — hata raporları, kod incelemeleri ve öğretim için ideal. Her şey tarayıcınızda çalışır; yazdığınız hiçbir şey sayfadan çıkmaz.

IEEE 754 Dönüşüm Örnekleri

Tek duyarlıkta 0.1 — klasik yuvarlama hatası

0.1
0x3DCCCCCD — gerçekte 0.100000001490116119384765625 olarak saklanır

Ondalık 0.1'in sonlu bir binary gösterimi yoktur; bu yüzden IEEE 754 onun yerine en yakın temsil edilebilir değeri saklar. Tek duyarlıkta (FP32) bu değer 0x3DCCCCCD'dir ve tam olarak 0.100000001490116119384765625'e eşittir — yaklaşık 1.49 × 10⁻⁹ kadar fazla. Araç, programlama dilinizin size geri yazdırdığı yuvarlanmış '0.1' yerine, saklanan bu tam değeri ve tam hatayı hane hane gösterir. Bu tek örnek, 0.1 + 0.2'nin neden 0.3'e eşit olmadığı dahil, kayan nokta sürprizlerinin çoğunu açıklar.

Float'tan hex'e: FP32'de 3.14159

3.14159
0x40490FD0

Tek (FP32) seçiliyken 3.14159 yazın; hex alanında 0x40490FD0 görünür — işaret 0, sapmalı üs 128 (yani 2¹), mantis 0x490FD0. Gerçekte saklanan değer 3.141590118408203125'tir; yazdığınızın bir tık üzerinde. Hex biçimi; ağ dökümlerinde, GPU arabelleklerinde, yazmaç görünümlerinde ve serileştirilmiş binary dosyalarda karşınıza çıkan biçimdir ve dönüşüm iki yönlü çalışır: geri çözmek için 40490FD0 değerini hex alanına yapıştırın.

FP16 maksimumu: yarım duyarlık 65504'te sona erer

65504
0x7BFF — en büyük sonlu FP16 değeri

Yarım duyarlıkta yalnızca 5 üs biti ve 10 mantis biti vardır; bu yüzden en büyük sonlu değeri 65504'tür (0x7BFF). 65520 veya daha büyük bir değer yazarsanız sonuç Infinity'ye (0x7C00) yuvarlanır — makine öğrenimi modellerini FP16'ya nicemlerken (quantization) gerçek bir tehlike. bfloat16'ya geçin; aynı 65520 rahatça sığar, çünkü bfloat16, mantis bitlerinden (duyarlıktan) vazgeçerek FP32'nin 8 üs bitini (aralığını) korur. ML eğitiminin bfloat16'yı, kompakt depolamanın ise FP16'yı tercih etmesinin nedeni tam olarak bu ödünleşimdir.

−0 ve +0: iki farklı bit deseni, tek değer

-0
0x80000000 (FP32); +0 ise 0x00000000

IEEE 754'te işaretli sıfır vardır: −0 yalnızca işaret bitini ayarlar (FP32'de 0x80000000), +0 ise tamamen sıfırlardan oluşur. Her dilde eşit karşılaştırılırlar; yine de 1/−0 sonucu −Infinity, 1/+0 sonucu +Infinity'dir, yani fark gözlemlenebilir. Araçta işaret bitine tıklayarak ikisi arasında geçiş yapın ve hex değişirken sınıflandırma rozetinin Sıfır'da kaldığını izleyin — bit düzeyinde eşitlik ile sayısal eşitliğin neden farklı şeyler olduğunun tek tıklık bir örneği.

IEEE 754 Kayan Noktalı Sayılar Nasıl Dönüştürülür

  1. 1

    Bir kayan nokta biçimi seçin

    Tek (FP32) önceden seçilidir. JavaScript/Python tarzı sayılar için Çift (FP64) biçimine, makine öğrenimi ve grafikte kullanılan 16-bit biçimler için Yarım (FP16) ve bfloat16'ya geçin.

  2. 2

    Ondalık bir sayı yazın

    Herhangi bir değer girin — 0.1, -2.5e3, 65504 — veya ±0, ±Infinity, NaN, en küçük subnormal ve en büyük sonlu değer için özel değer çiplerini kullanın. Dönüşüm siz yazdıkça gerçekleşir.

  3. 3

    Renk kodlu bit düzenini okuyun

    İşaret biti, üs alanı ve mantis farklı renklerle vurgulanır; alan dökümü tablosu ham bitleri, sapma aritmetiğini ve örtük öndeki biti gösterir.

  4. 4

    Saklanan tam değeri ve hatayı kontrol edin

    Doğruluk paneli, gerçekte saklanan değeri — her hanesi tam olarak hesaplanmış biçimde — yazdığınız değere karşı yuvarlama hatasıyla birlikte, ayrıca önceki ve sonraki temsil edilebilir komşuları ve ULP aralığını gösterir.

  5. 5

    Bitleri çevirin, hex yapıştırın, sonuçları kopyalayın

    Herhangi bir bite tıklayarak çevirin veya hex (3DCCCCCD) ve binary dizeleri yapıştırarak ondalığa geri çözün. Hex'i, binary'yi, tam değeri veya tam bit desenini yeniden üreten paylaşılabilir bir bağlantıyı kopyalayın.

Yaygın Kayan Nokta Hataları

Saklanan değer yerine yazdırılan değere güvenmek

Diller float'ları, gidiş-dönüşü koruyan en kısa dizeye yuvarlayarak yazdırır; bu yüzden 0.1 temiz görünür ama saklanan değer öyle değildir. Duyarlığı print() çıktısına göre değil, tam açılıma göre değerlendirin.

✗ Yanlış
print(0.1)  # 0.1 — tam görünür, değildir
✓ Doğru
0.1 saklanan (FP64) = 0.1000000000000000055511151231257827021181583404541015625

Float'ları tam eşitlikle karşılaştırmak

0.1 + 0.2, 0x3FD3333333333334 bit deseni üzerine düşer; 0.3 sabiti ise 0x3FD3333333333333'tür — bir ULP arayla; dolayısıyla ikisi de 0.3'e yakın yazdırılsa bile == yanlıştır.

✗ Yanlış
if (0.1 + 0.2 === 0.3) { … }   // asla çalışmaz
✓ Doğru
if (Math.abs(a - b) < 1e-9) { … }   // verinize göre boyutlandırılmış tolerans

Aralığı kontrol etmeden FP16'ya nicemlemek

FP16'nın en büyük sonlu değeri 65504'tür. Daha büyük her şey Infinity olur ve bir Infinity hesaplamaya girdiğinde yayılır. Aşağı dönüştürmeden önce maksimumlarınızı kontrol edin — ya da FP32'nin aralığını koruyan bfloat16'yı kullanın.

✗ Yanlış
fp16(65520)   → Infinity (0x7C00) — sessiz taşma
✓ Doğru
bf16(65520)   → sonlu (bfloat16, 8 üs bitini korur)

NaN'ı eşitlikle test etmek

NaN, kendisine eşit olmayan tek değerdir — bu bilinçli bir tasarımdır; böylece başarısız bir hesaplama gerçek bir sayı gibi görünemez. == yerine dilinizin isNaN kontrolünü kullanın ve milyonlarca farklı NaN bit deseni olduğunu unutmayın.

✗ Yanlış
if (x === NaN) { … }        // her zaman yanlış, x NaN olsa BİLE
✓ Doğru
if (Number.isNaN(x)) { … }  // doğru test

IEEE 754 Dönüştürücü ile Neler Yapabilirsiniz

Serileştirilmiş binary veride hata ayıklama
Bir ağ yakalamasında, GPU arabelleğinde, yazmaç dökümünde veya dosya biçiminde bulduğunuz hex'i yapıştırın ve tam ondalık değere çözün — ya da test verileri yazmak için ters yönde gidin. Bayt sırası notu: gösterilen hex, big-endian bit desenidir; dökümünüz little-endian ise yapıştırmadan önce bayt sırasını ters çevirin.
ML nicemlemesini anlama
Değerlerinizin FP16'nın 65504 tavanından sağ çıkıp çıkmadığını kontrol edin, FP16 ile bfloat16 duyarlık kaybını hane hane karşılaştırın ve gradyanların alttan taştığı subnormal aralığı inceleyin.
Bir kayan nokta hatasını açıklama
Bir meslektaşınız 'eşit' iki sayının neden farklı olduğunu sorduğunda, iki bit desenini ve saklanan tam değerleri gösteren bir kalıcı bağlantı gönderin — tartışma kendiliğinden kapanır. Daha uzun dökümler için metin karşılaştırma aracı ile birlikte kullanın.
Kodlamayı öğrenme veya öğretme
Öğrenciler üs bitlerine tıklayıp sapma aritmetiğinin güncellendiğini izleyebildiğinde bilgisayar mimarisi dersleri somutlaşır. Alan dökümü tablosu, ders kitaplarının biçimi çizme şeklini yansıtır.
Gömülü ve endüstriyel yazmaçları çözme
Modbus, CAN ve sensör verileri FP32 değerlerini düzenli olarak ham hex sözcükler halinde taşır. Fiziksel değeri okumak için sözcüğü buraya yapıştırın; geçici bir betik yazmanıza gerek kalmaz.

IEEE 754 Biçimleri ve Özel Değerler

Dört binary biçime bir bakış
binary16 (FP16): 1 işaret + 5 üs + 10 mantis biti, sapma 15, maks 65504, ~3.3 ondalık hane. bfloat16: 1 + 8 + 7, sapma 127, maks ≈ 3.39 × 10³⁸, ~2.3 hane. binary32 (FP32): 1 + 8 + 23, sapma 127, maks ≈ 3.40 × 10³⁸, ~7.2 hane. binary64 (FP64): 1 + 11 + 52, sapma 1023, maks ≈ 1.80 × 10³⁰⁸, ~15.9 hane. Desen şu: üs bitleri aralık, mantis bitleri duyarlık kazandırır; bfloat16 ise duyarlığının tamamını bilinçli olarak FP32'nin aralığıyla takas eder.
Bir değer nasıl birleştirilir
Normal bir sayı (−1)^işaret × 1.mantis × 2^(üs − sapma) olarak çözülür. Öndeki 1 örtüktür — saklanmaz; 23-bit mantis alanının 24 bit duyarlık sunmasının nedeni budur. Saklanan üs, gerçek üs artı sapmadır (FP32'de 127); dolayısıyla 2⁰, 01111111 olarak saklanır. Bu araçtaki alan dökümü tablosu, geçerli değer için bu aritmetiğin her adımını gösterir.
Özel değerler: ayrılmış üs desenleri
Üs tamamen bir ve mantis sıfırsa ±Infinity'dir; mantis sıfırdan farklıysa NaN'dır (kanonik sessiz NaN, mantisin en üst bitini ayarlar). Üs tamamen sıfır ve mantis sıfırsa ±0'dır; mantis sıfırdan farklıysa subnormal'dir ve 0.mantis × 2^(1 − sapma) olarak çözülür — örtük öndeki 1 yoktur. Bu kurallar dört biçimde de birebir aynıdır; aynı çiplerin her birinde çalışmasının nedeni budur.
Yuvarlama: en yakına, eşitlikte çifte
Bir değer temsil edilebilir iki sayının arasına düştüğünde, IEEE 754'ün varsayılan modu daha yakın olana yuvarlar; tam eşitlik durumunda son mantis biti 0 olanı seçer (eşitlikte çifte / ties to even), bu da sistematik kaymayı önler. Bu dönüştürücü, ondalık girdinizi hedef biçime daraltırken tam olarak bu kuralı uygular ve hata paneli oluşan işaretli farkı tam olarak gösterir.
ULP: float'ların ızgara aralığı
Temsil edilebilir float'lar eşit dağılmaz — komşular arasındaki boşluk (son basamaktaki bir birim) her 2 kuvvetinde ikiye katlanır. 1.0 civarında bir double'ın ULP'si 2⁻⁵² ≈ 2.22 × 10⁻¹⁶'dır; 2⁵³ civarında ULP 1.0'a ulaşır ve tamsayılar atlanmaya başlar. Komşular paneli geçerli ULP'yi tam olarak yazdırır; 'sayım burada gerçekte ne kadar duyarlı?' sorusunun dürüst yanıtı budur.

Kayan Nokta En İyi Uygulamaları

Float'ları asla == ile karşılaştırmayın
Herhangi bir aritmetikten sonra, matematiksel olarak eşit iki ifade bir ULP arayla durabilir. Büyüklüklerinize uygun bir toleransla karşılaştırın — ya da bu aracın doğrudan incelemenize izin verdiği bit desenleri arasındaki ULP'leri sayın.
Parayı binary float'lardan uzak tutun
Hiçbir 2 kuvveti ızgarası 0.10'u tam olarak içermez; bu yüzden float'larda tutulan para gözle görülür hatalar biriktirir. Tamsayı kuruş veya ondalık bir tür kullanın; buradaki saklanan tam değer paneli bunun nedeninin kalıcı kanıtıdır.
16-bit biçimi alışkanlığa göre değil, aralığa göre seçin
Değerleriniz 65504'ü aşabiliyorsa — kayıplar, gradyanlar, fizik sıçramaları — FP16 Infinity'ye taşarken bfloat16 yoluna devam eder. Her şey dar bir banda normalleştirilmişse, FP16'nın fazladan mantis bitleri gözle görülür biçimde daha iyi duyarlık verir.
Daraltırken çifte yuvarlama tuzağına dikkat edin
Ondalık → double → yarım dönüşümü, nadir orta nokta durumlarında ondalık → yarım doğrudan dönüşümünden bir ULP uzağa düşebilir. Bu araç, ondalık girdinizi hedef biçime tek adımda yuvarlar; gördüğünüz şey dürüst IEEE 754 yanıtıdır.
Tamsayıların 2⁵³ üzerinde bozulmasını bekleyin
Bir double, 2⁵³'e kadar her tamsayıyı tam olarak saklar, sonra atlamaya başlar — 2⁵³ + 1 temsil edilemez. O ölçeğe yakın kimlikler veya sayaçlarla uğraşıyorsanız 64-bit tamsayılar veya dizeler kullanın ve şüpheli değerleri burada bit düzeyinde kontrol edin.

IEEE 754 Dönüştürücü SSS

0.1 + 0.2 neden 0.3'e eşit değildir?
Çünkü bu üç sayının hiçbiri binary kayan noktada mevcut değildir. Bir double, 0.1'i tam olarak 0.1000000000000000055511151231257827021181583404541015625 olarak, 0.2'yi de benzer küçücük bir fazlalıkla saklar; ikisini toplamak 0.3000000000000000444089209850062616169452667236328125 (bitler 0x3FD3333333333334) verir, oysa 0.3 sabiti 0.299999999999999988897769753748434595763683319091796875 (bitler 0x3FD3333333333333) değerine yuvarlanır. Toplam, sabitin bir temsil edilebilir adım üstüne düşer — iki farklı bit deseni — bu yüzden 0.1 + 0.2 == 0.3 her IEEE 754 dilinde yanlıştır: JavaScript, Python, Java, C, Rust, Go. Bu dönüştürücüye 0.1 yazın ve temel nedeni kendi gözlerinizle görmek için saklanan tam değeri okuyun.
IEEE 754 nedir?
IEEE 754, neredeyse tüm modern CPU'ların, GPU'ların ve programlama dillerinin kullandığı binary kayan nokta aritmetiği için teknik standarttır. Bir sayının bitlere nasıl paketlendiğini — bir işaret biti, bir üs alanı ve bir mantis (significand) — ayrıca yuvarlama kurallarını ve Infinity, NaN, işaretli sıfır ve subnormal özel değerlerini tanımlar. Pratikte karşılaşacağınız biçimler binary32 (float, FP32), binary64 (double, FP64), binary16 (yarım, FP16) ve makine öğreniminde kullanılan, FP32'nin kesilmesiyle elde edilen bfloat16'dır. Bu dönüştürücü dördünü de bit düzeyinde gösterir.
FP16 ile bfloat16 arasındaki fark nedir?
İkisi de 16-bit biçimdir ama bitlerini farklı bölerler. FP16 (IEEE binary16) 5 üs biti ve 10 mantis biti kullanır: daha fazla duyarlık, ama küçücük bir aralık — en büyük sonlu değer 65504'tür, dolayısıyla Infinity'ye taşma sürekli bir tehlikedir. bfloat16, FP32'nin 8 üs bitini korur ve yalnızca 7 mantis biti bırakır: bir float'ın ±3.4 × 10³⁸'lik tam aralığı, çok daha kaba bir duyarlıkla. Gradyanların 65504'ün çok ötesine sıçrayabildiği ML eğitiminin bfloat16'da standartlaşmasının, değerlerin denetim altında olduğu depolama ve çıkarım işlerine ise FP16'nın uymasının nedeni budur. Burada karşılaştırın: 0.1 yazıp biçimler arasında geçiş yapın — FP16 0.0999755859375 (0x2E66), bfloat16 0.10009765625 (0x3DCD) saklar.
Subnormal (denormal) sayılar nedir?
Üs alanı tamamen sıfır olduğunda IEEE 754, örtük öndeki 1'i bırakır ve mantisin sıfıra doğru kademeli olarak küçülmesine izin verir — bunlar subnormal (eski adıyla denormal) sayılardır. Sıfır ile en küçük normal sayı arasındaki boşluğu doldururlar; böylece eşit olmayan iki float'ın farkı asla sıfıra yuvarlanamaz (kademeli alttan taşma). Bedeli, azalan duyarlık ve birçok CPU'da yavaşlayan aritmetiktir. FP16'da en küçük subnormal 2⁻²⁴ = 0.000000059604644775390625'tir; bit desenini incelemek için herhangi bir biçimde Min subnormal çipine tıklayın — üs bitleri tamamen sıfır, mantis 0…001.
Float mı double mı kullanmalıyım?
Ölçülmüş bir gerekçeniz yoksa varsayılan olarak double (FP64) kullanın. Bir double yaklaşık 15–16 anlamlı ondalık hane taşır; bir float ise kabaca 7. Üstelik çoğu dil (JavaScript sayıları, Python float'ları) zaten yalnızca double kullanır. Bellek bant genişliği veya depolama baskın olduğunda — büyük diziler, GPU işlem hatları, grafik — ve 7 hanenin yeterli olduğunu doğruladıysanız float (FP32) seçin. Para için bunun yerine tamsayı (kuruş) veya ondalık bir tür kullanın: bu aracın saklanan değer panelinin gösterdiği gibi, hiçbir binary biçim 0.1'i tam olarak saklamaz. Tamsayı tabanlarını incelemeniz gerekiyorsa sayı tabanı dönüştürücü aracına bakın.
Bir float'ı elle hex'e nasıl dönüştürürüm?
İşareti alın (pozitif için 0, negatif için 1). Mutlak değeri binary olarak yazın ve 1.xxx × 2ⁿ biçiminde normalleştirin. n'ye biçimin sapma değerini ekleyin (FP32 için 127, FP64 için 1023) ve sonucu üs bitlerine yazın. Öndeki 1'i atın ve kesrin sonraki 23 (veya 52) bitini mantis olarak tutun; kesme noktasında en yakın çifte yuvarlayın. İşareti, üsü ve mantisi art arda ekleyin ve her 4 biti tek bir hex hanesinde gruplayın. FP32'de 3.14159 için bu işlem 0 | 10000000 | 10010010000111111010000 → 0x40490FD0 verir — ya da aritmetiği atlayın ve her adımı görünür biçimde bu dönüştürücüye bırakın.
Bu dönüştürücüyü kullanırken verilerim yükleniyor mu?
Hayır. Her dönüşüm, düz JavaScript kullanılarak tarayıcınızda yerel olarak çalışır — DataView ve BigInt aritmetiği, sunucuya gidiş-dönüş yok, üçüncü taraf kütüphane yok. Tarayıcınızın geliştirici araçlarını açıp siz yazarken ağ panelinin sessiz kaldığını izleyebilir veya internet bağlantınızı tamamen kesip dönüştürmeye devam edebilirsiniz. Bağlantıyı kopyala düğmesi bit desenini URL fragmanına kodlar; bu da aynı şekilde hiçbir sunucuya gönderilmez.

Sayı Tabanı Dönüştürücü — Binary, Hex, Decimal ve Octal

Dönüştürme Araçları

Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.

Renk Dönüştürücü — HEX, RGB, HSL & OKLCH

Dönüştürme Araçları

HEX'i RGB, HSL, OKLCH, OKLAB ve CMYK biçimlerine tarayıcınızda dönüştürün — herhangi bir biçimi tek tıkla kopyalayın. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.

HEX'ten CMYK'ye Dönüştürücü

Dönüştürme Araçları

HEX renklerini tarayıcınızda CMYK'ye dönüştürün. Baskı önizlemeleri için sRGB tabanlı saf yaklaşım. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.

HEX'ten HSL'ye Dönüştürücü

Dönüştürme Araçları

Herhangi bir HEX rengi tarayıcınızda HSL'ye dönüştürün — 3 haneli, 6 haneli ve alpha içeren 8 haneli HEX desteklenir. Ücretsiz, anında, kayıt yok, renkleriniz sayfadan asla çıkmaz.

HEX'ten OKLCH'ye Dönüştürücü

Dönüştürme Araçları

Tailwind v4 tasarım token'ları için HEX'i OKLCH'ye dönüştürün. Display P3 renk gamı uyarılarıyla canlı algısal olarak tekdüze çıktı. Ücretsiz, yalnızca tarayıcıda.

HEX'ten RGB'ye Dönüştürücü

Dönüştürme Araçları

Herhangi bir HEX renk kodunu tarayıcınızda RGB'ye dönüştürün — 3 haneli, 6 haneli ve alpha içeren 8 haneli HEX desteklenir. Ücretsiz, anında, kayıt yok, renkleriniz sayfadan asla çıkmaz.