探析计算机浮点数精度丢失
国际标准IEEE 754
$$
V=(-1)^s\times M \times 2^E
$$
1 | s:(sign)表示符号位 |
表示
单精度的表示:1(符号位) + 8(指数位) + 23(有效数字)
双精度的表示:1(符号位) + 11(指数位) + 52(有效数字)


实例

对精度有要求的场景,不要使用浮点数!必须使用十进制运算类库!比如java中的Decimal类。
需要特别注意的是,由于十进制运算库无法直接利用 CPU 基于二进制位的运算能力,执行效率要比浮点数差很多。