E8M0 - The OCP MX Shared Block Scale

8 exponent bits, no sign, no mantissa: every value is an exact power of two

Bit Layout

E8M0 is all exponent. There is no sign bit and no mantissa field, so the entire 8-bit encoding is a biased exponent and every representable value is exactly 2k.

Overview

E8M0 is the shared scale type of the OCP Microscaling (MX) Specification v1.0. An MX block is 32 elements of a narrow type (FP8 E4M3, FP8 E5M2, FP6, FP4 or MXINT8) plus one E8M0 scale that multiplies all of them. The narrow element type supplies precision; the shared scale supplies dynamic range.

Restricting the scale to an exact power of two is deliberate. Multiplying by 2k is an exponent adjustment, not a multiply, so applying a block scale costs nothing in hardware and introduces no rounding error of its own.

E8M0 has no zero and no subnormals MX Table 7 lists Zeros as "N/A". Exponent field 0 is not reserved: it is the ordinary normal value 2-127, the smallest magnitude the format can hold. There is also no infinity. The single reserved pattern is 11111111, which is NaN.

Encoding Rules

Every Value

value = 2(exponent - 127)

Exponent fields 0 through 254 map to 2-127 through 2127, covering 255 binades with no gaps and no duplicates. That is the full supported exponent range MX Table 7 specifies, −127 to 127.

Special Values (MX Table 7)

Rounding acts on the exponent With no mantissa field there is nothing to round within a binade, so the rounding mode chooses between neighbouring powers of two instead. Encoding 1.5 under ties-to-even gives 21; under toward-zero it gives 20.

Interactive Value Visualizer

Click any bit to flip it, drag the slider, or enter a decimal or hex value. The graph shows how values are distributed across the encoding space.

Dynamic Range & Precision

Special Values & Bit Patterns

Format Comparison

Where E8M0 Is Used