UTILS.
100% 浏览器内运行
💾

IEEE-754 浮点转换器

将十进制数与其 IEEE-754 单精度(32 位)或双精度(64 位)位模式相互转换,并剖析符号、指数和尾数字段。

在上方输入数字或位模式。

关于此工具

IEEE-754 浮点转换器精确展示一个数字如何作为 32 位单精度或 64 位双精度浮点数存储在内存中,并能将原始位模式反向转回其十进制值。它使用 JavaScript 类型化数组(Float32Array / DataView),因此位模式是真正的硬件表示,而非近似。

在正向模式下,它将模式报告为十六进制,以及拆分为三个字段的二进制:符号位、指数(float32 为 8 位,偏置 127;float64 为 11 位,偏置 1023),以及尾数(23 或 52 位)。它还解码无偏指数,并将值分类为正规、次正规、零、无穷或 NaN。关键是它打印从位读回的精确存储值——对 float32 而言,这常与你输入的不同,使浮点舍入误差可见。例如 0.1 在两种精度下都不能精确存储。

在反向模式下,你粘贴一个十六进制模式(带或不带 0x)或全宽二进制字符串,它会将这些位重新解释为浮点数,并显示得到的十进制值以及相同的字段分解。一切都在你的浏览器本地运行。这是理解舍入、比较单精度与双精度,以及检查 ±0、±∞ 和 NaN 特殊编码的常用工具。

常见问题

为什么存储值与我输入的不同?
大多数十进制小数无法在二进制浮点中精确表示,因此存储最接近的可表示值。转换器读回这些位并显示该精确存储值,从而揭示舍入误差——尤其在 32 位单精度中。
字段是如何布局的?
Float32 使用 1 个符号位、8 个指数位(偏置 127)和 23 个尾数位;float64 使用 1 个符号位、11 个指数位(偏置 1023)和 52 个尾数位。无偏指数等于原始指数减去偏置。
零、无穷和 NaN 是如何编码的?
全零指数配零尾数为 ±0,尾数非零则为次正规。全一指数在尾数为零时表示 ±无穷,尾数非零时表示 NaN。工具会标注每个类别。
我能从位模式转回数字吗?
能。切换到反向模式并粘贴 8 位十六进制(float32)或 16 位十六进制(float64)模式,或完整的 32 位或 64 位二进制字符串,工具会将这些精确的位重新解释为浮点值。

更多工具