明确输入是数值还是位模式
默认用 binary32 查看十进制 0.1。切换到 Hex 是重新解释现有文本,不是把文本自动转成十六进制;应粘贴完整逻辑字,最高有效位放在左边。选择双精度后,原始字也必须补齐为对应的完整来源数据。
数值 / 位运算 / 单位
输入一个十进制数,或粘贴完整的 Hex / 二进制位模式,对照精确存储值和舍入误差。
输入仅在当前浏览器中处理,不会发送到服务器。
十进制使用小数点,可带 e/E 指数。Hex 须为 8/16 位,二进制须为 32/64 位;原始字允许 0x/0b 前缀和空格、制表符分组。
十进制短显示 · 9 / 17 位有效数字
0.100000001
正规数
0.100000001490116119384765625
0.000000001490116119384765625
直接舍入到所选格式:取最近值,中点取偶数。更改精度或输入表示会重新解释当前文本。输入最多 1024 字符,显式十进制指数范围为 −4096…4096。
解析完成。
IEEE 754 浮点数转换适合排查这样的差异:调试器显示的是 0.1,实际参与比较的数却略大于它。把完整十进制展开与原输入放在一起,就能看到短显示隐藏了哪些位,而不必凭显示的小数位数猜测精度。
浮点数转十六进制用于生成测试字,反向读取则适合检查已有寄存器或协议字段。选择单精度和双精度会改变编码规则;若输入来自内存转储,请先确认字节顺序,再把它作为完整逻辑字输入。
IEEE 754 浮点数转换分别将原始十进制目标舍入到两种格式。0.1 在单精度下存为 0.100000001490116119384765625,双精度更接近目标,但仍不完全相等。误差的正负号能告诉你,实际存储点位于目标的哪一侧。
7FC00001 与 7FC00002 都属于静默 NaN,但载荷分别是 1 和 2。读取原始字时保留这一差别,也保留符号和 quiet 位;不会因为二者都显示为 NaN,就把位模式改写成相同的规范值。
默认用 binary32 查看十进制 0.1。切换到 Hex 是重新解释现有文本,不是把文本自动转成十六进制;应粘贴完整逻辑字,最高有效位放在左边。选择双精度后,原始字也必须补齐为对应的完整来源数据。
短显示采用 9 位或 17 位有效数字,便于快速识别数量级。完整十进制区域保留所有数字;有符号误差定义为存储值减去输入值,所以负误差表示存储值小于目标,而不是解析失败。
示例入口提供五种预览,包括负零、最小正次正规数和带载荷的 NaN。应用后可撤销并恢复原结果。自动转换等待 350 毫秒;关闭后使用解析按钮或 Ctrl/Cmd + Enter,未更新前不能导出旧结果。
单精度按 1/8/23 位分组,双精度按 1/11/52 位分组。存储指数、有效指数和隐含前导位分开呈现:正规数的前导位是 1,次正规数是 0,因此全零指数不能直接套用正规数的解释方式。
十进制先作为精确有理数处理,再舍入到目标有效数。略大于 1.000000059604644775390625 的数应舍入到下一个单精度值;若先经过双精度再转单精度,极小的差别可能提前丢失。这里避免了这条二次舍入路径。
Hex 与二进制输出保留完整字,包括信号 NaN。可以单独复制位模式,也可导出带原输入、精度、各字段、精确十进制和误差的报告,用于对照调试器或实现自己的编码测试。报告只对应当前已完成解析的输入。
0.1 与 0.2 在二进制中都是无限循环小数,保存时先各自舍入,运算结果还可能再次舍入,因此显示结果可能偏离十进制的 0.3。本页能查看各个数的编码和误差,但不执行加法表达式;请分别输入要检查的单个值。
常见 float 对应 binary32,有 23 个显式尾数位,正规数加隐含位后为 24 位有效二进制精度。double 对应 binary64,为 52 加 1 位。双精度还能用更宽的指数表示更大或更小的数量级,但不能把 0.1 变成精确的有限二进制数。
正规数的存储指数需要减去偏置:单精度偏置为 127,双精度为 1023。全零指数有特殊含义,次正规数的有效指数分别固定为 −126 和 −1022,前导位为 0。全一指数则用于无穷大或 NaN,不能套用有限数公式。
Hex 或二进制输入会保留完整模式,包括符号、quiet 位和载荷。7FC00001 与 7FC00002 不会合并。若直接输入文本 NaN,则没有提供具体载荷,工具会生成规范静默 NaN;二者的输入意图不同。
会影响从内存字节流拼出逻辑字的过程。本页按最高有效位在左读取 Hex,不进行大小端交换。例如小端内存中的 00 00 80 3F 应先整理为逻辑字 3F800000,再按单精度读取,才得到 1。
结果与预期不符?