Zaman/Sayılar
IEEE 754 Float Dönüştürücü
Ondalık sayı ↔ IEEE 754 ikili gösterimi (tek veya çift duyarlık) — işaret, üs, mantis, özel değerler.
Computers store fractional numbers in binary under the IEEE 754 standard — a sign, an exponent, and a mantissa, packed into a fixed number of bits. This tool shows that representation for any decimal number and parses it back into a number.
How to use it
- Number → bits: enter a decimal number to get its breakdown into sign, exponent, and mantissa for single (32-bit) or double (64-bit) precision.
- Bits → number: paste a bit representation to get the decimal value back.
- Special values (infinity, NaN, signed zero) are recognized and explained separately.
Common uses
- Understanding why 0.1 + 0.2 doesn't exactly equal 0.3 in most programming languages — a concrete demonstration of rounding error.
- Studying float's internal representation to understand precision limits in financial or scientific calculations.
- Parsing a binary dump or network packet where numbers are transmitted in IEEE 754 format.
Things to keep in mind
Most decimal fractions (0.1, for example) have no exact binary representation — that's the root cause of the typical rounding errors seen in calculation results.
Comparing floating-point numbers for exact equality (===) is unreliable — check instead whether the difference is smaller than a small threshold (epsilon).
Bu araç hakkında makale: IEEE 754: kodda 0.1 + 0.2 neden 0.3'e eşit değil
Sıkça sorulan sorular
Tek ve çift duyarlılık arasındaki fark nedir?
Tek duyarlılık (float, 32 bit) yaklaşık 7 ondalık basamak duyarlılık verir, çift duyarlılık (double, 64 bit) yaklaşık 15-17 verir. JavaScript'in Number türü çift duyarlılık kullanır.
Bazı ondalık sayılar neden duyarlılığını kaybeder?
IEEE 754 sayıları ikilik olarak saklar ve birçok ondalık kesir (0.1 gibi) tam sonlu bir ikilik gösterime sahip değildir — bu yüzden mümkün olan en yakın değer, küçük bir yuvarlama hatasıyla saklanır.
NaN, Infinity ve -0 ne anlama gelir?
NaN, 0/0 gibi geçersiz bir işlemin sonucudur. Infinity/-Infinity, bir değer temsil edilebilir aralığı aştığında (örn. 0'a bölme) ortaya çıkar. +0 ve -0, işaretli sıfırın iki farklı bit gösterimidir, ancak sayı olarak eşittirler.
Subnormal (denormalize) sayılar nedir?
Normal biçim için mutlak değeri çok küçük olan sayılar için özel bir gösterim modu — mantisin örtük öndeki 1'i atılır, bu da bir miktar hassasiyet kaybı pahasına kademeli olarak sıfıra yaklaşılmasına izin verir.
Tam eşitlik kontrolü yerine kesirli sayılar nasıl doğru şekilde karşılaştırılır?
a === b yerine, sayılar arasındaki farkın küçük bir eşik değerinden (epsilon) küçük olup olmadığı kontrol edilir: Math.abs(a - b) < 1e-9. Yuvarlama hataları nedeniyle tam eşitlik neredeyse hiçbir zaman garanti edilmez.