IEEE 754 可视化
免费在线使用 IEEE 754 可视化 无需安装即可使用工具
关于 IEEE 754 可视化工具
展示一个十进制数以 IEEE 754 浮点数(单精度 32 位或双精度 64 位)存储时的内部表示。输入一个数字,工具会将其拆分为符号位、偏移指数、尾数(小数部分)、完整的十六进制表示,以及分组后的二进制布局。计算使用 JavaScript 的 DataView 完成,因此结果与你的运行时实际存储的值一致。
使用方法
1. 在输入框中输入一个十进制数(例如 3.14159) 2. 用单选按钮选择单精度(32 位)或双精度(64 位) 3. 符号、指数、尾数、十六进制和二进制字段会自动更新 4. 点击十六进制值旁边的复制图标即可复制
字段含义
符号为 0 表示正数,1 表示负数。指数是原始的偏移整数(单精度为 8 位,范围 0-255;双精度为 11 位,范围 0-2047)。尾数以小数位的十六进制字符串显示(单精度 23 位,双精度 52 位)。十六进制是完整的 IEEE 754 字的大端序十六进制表示。二进制行将各二进制位按符号 | 指数 | 尾数 进行分组显示。
▶该工具会显示存储浮点数的真实十进制值吗?
不会。它只显示原始的位字段和十六进制。要查看浮点数舍入后的值(例如 0.1 + 0.2),请在自己的代码中读取这些位,或使用单独的小数展开工具。
▶NaN 和 Infinity 等特殊值如何处理?
JavaScript 的 parseFloat 会产生 NaN、Infinity 或 -Infinity。可视化工具会读取 DataView.setFloat64/32 写入的内容,因此 Infinity 显示为全 1 的指数加零尾数,NaN 显示为全 1 的指数加非零尾数,与平台存储方式完全一致。
▶十六进制是大端序还是小端序?
大端序(网络字节序)。字节通过 setFloat64(0, num, false) 写入,因此最高有效字节排在最前面。
▶为什么 0.1 显示出很长的循环尾数?
0.1 无法用二进制浮点数精确表示,因此存储的位是最接近的近似值。这正是本可视化工具的意义所在——揭示你的运行时实际存储的内容。
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。