[控场AI]
概念浮点数标准 / IEEE浮点标准

IEEE 754

IEEE制定的二进制浮点数算术标准,定义了浮点数的表示方式、精度(fp32约7位十进制有效数字,fp64约15位)及舍入规则,是现代计算机浮点运算的基础规范

时间轴 (近 90 天)

10月14日

IEEE 754 双精度浮点数(TypeScript 的 number 类型)无法精确表示许多十进制小数,因此不适合金融计算。

待验证50%
10月14日

IEEE 754 双精度浮点数(float64)只能精确表示分母为 2 的幂的分数,0.1、0.2 这类十进制小数在二进制下是无限循环小数,存储时必然被截断。

待验证50%
10月12日

IEEE 754 浮点数无法精确表示大多数十进制小数,反复运算会产生舍入误差,例如在 JavaScript 中 0.1 + 0.2 === 0.30000000000000004。

待验证50%
10月12日

将无符号整数 n 转换为 float 后,规格化结果的指数字段等于 floor(log2(n)) + 127

待验证50%
10月12日

单精度浮点数用 8 位存储指数,采用偏置编码 bias = 127

待验证50%
10月12日

浮点指数提取方法中零值输入会产生 -∞(指数全零),需要额外处理

待验证50%
10月12日

对于超过 2²⁴ 的 32 位整数,单精度浮点的尾数精度不足以精确表示,导致指数字段偏低

待验证50%
10月12日

浮点加法不满足结合律,(a+b)+c 和 a+(b+c) 在最后一位上可能有差异

待验证50%
10月11日

浮点加法和乘法在IEEE 754标准下不具备结合律,GEMM和GEMV内部求和顺序不同导致同一输入的激活值产生极微小差异

待验证50%
10月11日

JavaScript原生number类型为IEEE 754双精度浮点,其53位尾数在表示纳秒级时间戳(约1.7×10¹⁸量级)时会损失精度,这是建议改用BigInt的根本原因

待验证50%

还有 7 条时间轴事件

全部知识事实 (18)

待验证

Python的浮点数遵循IEEE 754双精度浮点数标准,使用64位二进制来表示一个小数

60%
待验证

IEEE 754 双精度浮点数(TypeScript 的 number 类型)无法精确表示许多十进制小数,因此不适合金融计算。

50%
待验证

IEEE 754 双精度浮点数(float64)只能精确表示分母为 2 的幂的分数,0.1、0.2 这类十进制小数在二进制下是无限循环小数,存储时必然被截断。

50%
待验证

IEEE 754 浮点数无法精确表示大多数十进制小数,反复运算会产生舍入误差,例如在 JavaScript 中 0.1 + 0.2 === 0.30000000000000004。

50%
待验证

对于超过 2²⁴ 的 32 位整数,单精度浮点的尾数精度不足以精确表示,导致指数字段偏低

50%
待验证

浮点指数提取方法中零值输入会产生 -∞(指数全零),需要额外处理

50%
待验证

单精度浮点数用 8 位存储指数,采用偏置编码 bias = 127

50%
待验证

将无符号整数 n 转换为 float 后,规格化结果的指数字段等于 floor(log2(n)) + 127

50%
待验证

浮点加法不满足结合律,(a+b)+c 和 a+(b+c) 在最后一位上可能有差异

50%
待验证

浮点加法和乘法在IEEE 754标准下不具备结合律,GEMM和GEMV内部求和顺序不同导致同一输入的激活值产生极微小差异

50%
待验证

JavaScript原生number类型为IEEE 754双精度浮点,其53位尾数在表示纳秒级时间戳(约1.7×10¹⁸量级)时会损失精度,这是建议改用BigInt的根本原因

50%
待验证

JavaScript原生Date对象本质是一个IEEE 754双精度浮点数,表示自Unix纪元以来的毫秒数,直接依赖底层操作系统时钟

50%
待验证

SSE2指令集于2001年随Pentium 4引入,带来符合IEEE 754标准的32/64位浮点运算

50%
待验证

FP32使用32位表示浮点数,其中1位符号位、8位指数位、23位尾数位

50%
待验证

根据IEEE 754的round-to-nearest-even舍入规则,向1.0加上小于半个ULP(约0.00000006)的数,结果仍为1.0,加法无效

50%
待验证

Hexel Editor提供光标位置字节的即时解码功能,能展示数据在不同数据类型(8/16/32/64位整数、IEEE 754浮点数、ASCII/UTF-8字符编码等)下的解读

50%
待验证

0.1 + 0.2的浮点运算实际结果为0.30000000000000004而非精确的0.3

50%
待验证

由于IEEE 754浮点数精度限制,直接使用EXPECT_EQ进行浮点比较几乎必然导致虚假失败,应使用EXPECT_NEAR指定容差

50%

来源文章