| 字段 | 位 | 编码 | 含义 |
|---|
这是 IEEE 754 转换器:贴十进制或 hex 位型,看符号、指数、尾数和实际存进去的值。 IEEE 754 把实数打成符号、偏置指数和尾数。binary16、bfloat16、binary32、binary64、NaN、Infinity、ULP 等标识不翻译。binary32 的 1 大端 hex 是 3F800000(小端 0000803F)。binary64 的 1 是 3FF0000000000000。0.1 在 binary32 是 3DCCCCCD,实际存的是 0.10000000149011612。π 的 binary32 是 40490FDB。+∞ 是 7F800000,−0 是 80000000,quiet NaN 常见为 7FC00000。
1、0.1、Infinity、NaN、-0)或 hex 位模式。3F800000。值 = (−1)sign × 有效数字 × 2指数−偏置。偏置为 15(binary16)、127(binary32 / bfloat16)或 1023(binary64)。指数全 1 且尾数为 0 是 ±Infinity,尾数非 0 是 NaN。指数全 0 且尾数为 0 是 ±0,尾数非 0 是次正规数(没有隐含 1)。binary16 最大有限值是 65504(7BFF),再大就变成 Infinity;bfloat16 则保留 binary32 的范围。
这些十进制在二进制里是循环小数。binary64 存的 0.1 略大于 0.1;相加后比字面量 0.3 高一个 ULP。语言打印会看起来很整。本页显示位模式。不要用 === 比较浮点,请用容差。金额不要放进二进制浮点。
Hex 框是位串当成整数。big-endian 和教材、本页默认一致。3F800000 的小端 dump 是 0000803F — 把字节序改成 Little-endian,或用字节序工具。16 / 32 / 64 位格式分别需要 4 / 8 / 16 位 hex 数字。
3FF0000000000000。x === NaN 恒为假,用 Number.isNaN。