IEEE 754 Float Analyzer
Analyze IEEE 754 floating-point values at the bit level. Inspect the sign bit, stored exponent, unbiased exponent, fraction field, significand, hexadecimal representation, number class, precision format and special-value behavior for 32-bit or 64-bit floating point.
What Does an IEEE 754 Float Analyzer Do?
An IEEE 754 float analyzer breaks a stored floating-point bit pattern into its individual fields and explains what each field means. Instead of only converting the bit pattern to a decimal number, it exposes the internal representation used by the computer.
For ordinary finite numbers, the analyzer identifies the sign, exponent bias, stored and unbiased exponents, fraction value and effective significand. It also identifies special encodings such as zero, subnormal numbers, infinity and NaN.
This makes an IEEE 754 analyzer useful for debugging, computer architecture, numerical computing, programming education and understanding floating-point precision problems.
IEEE 754 Fields Explained
Sign Bit
The first bit determines the sign of ordinary finite values. Zero indicates positive and one indicates negative.
Stored Exponent
The exponent bits are interpreted as an unsigned integer before the format-specific exponent bias is removed.
Unbiased Exponent
For normal numbers, the mathematical exponent equals the stored exponent minus the bias.
Fraction Field
The fraction bits represent powers of two beginning at 2^-1 and continuing through progressively smaller binary fractions.
Implicit Leading Bit
Normal IEEE 754 values assume a leading 1 before the stored fraction. Subnormal values instead use a leading 0.
Classification
Exponent and fraction patterns identify normal numbers, subnormals, zeros, infinities and NaN values.
IEEE 754 Analyzer Format Reference
| Property | 32-bit Single | 64-bit Double |
|---|---|---|
| Total width | 32 bits | 64 bits |
| Sign bits | 1 | 1 |
| Exponent bits | 8 | 11 |
| Fraction bits | 23 | 52 |
| Exponent bias | 127 | 1023 |
| Normal effective precision | 24 binary digits | 53 binary digits |
| Approximate decimal precision | About 7 digits | About 15 to 17 digits |
How IEEE 754 Values Are Classified
| Exponent | Fraction | Class | Implicit Bit |
|---|---|---|---|
| All zeros | All zeros | Zero | 0 |
| All zeros | Nonzero | Subnormal | 0 |
| Normal exponent | Any | Normal finite number | 1 |
| All ones | All zeros | Infinity | Not applicable |
| All ones | Nonzero | NaN | Not applicable |
Worked Analysis Example: 13.25
Worked Analysis Example: Negative Value
Worked Analysis Example: Positive Infinity
Worked Analysis Example: NaN
IEEE 754 Normal Value Analysis Formula
For normal finite IEEE 754 numbers:
Here, S is the sign bit and F is the fractional numeric value represented by the stored fraction bits.
How Subnormal Numbers Are Analyzed
Subnormal values are used for numbers too close to zero to be represented as normal floating-point values. Their exponent field contains all zeros, while the fraction field is nonzero.
This gradual transition toward zero is called gradual underflow and avoids an abrupt jump directly from the smallest normal value to zero.
Precision and Stored Fraction Bits
| Precision | Stored Fraction Bits | Implicit Bit for Normals | Effective Binary Precision |
|---|---|---|---|
| Single | 23 | 1 extra | 24 bits |
| Double | 52 | 1 extra | 53 bits |
Why Analyze Floating-Point Bits?
Debug Rounding Issues
Inspecting the stored bits can explain why the actual binary value differs slightly from the decimal number originally entered.
Study Computer Architecture
The analyzer exposes how processors store signs, exponents and significands at the bit level.
Inspect Special Values
Infinity, NaN, signed zero and subnormal values can be identified directly from their field patterns.
Compare Precision
Single- and double-precision encodings can be compared to understand the effect of additional exponent and fraction bits.
Important IEEE 754 Analyzer Notes
The optional expected-value input is for comparison only. It does not change or reinterpret the IEEE 754 bits.
NaN encodings may have different payloads, and the sign bit of a NaN does not give NaN an ordinary positive or negative numerical meaning.
Floating-point values such as decimal 0.1 often decode to a nearby binary approximation rather than the mathematically exact decimal fraction.