浮点数精度丢失问题
# 十进制小数用二进制如何表示 在小数转换为二进制时候,整数部分通过除以 2 递归的方式转为二进制表示,而小数部分可以通过乘 2 方式转换为二进制,如下所示 # 3.5转换为二进制3 / 2 = 1 --- 11 / 2 = 0 --- 1所以整数部分为110.5 * 2 = 1.0 -- 1因此3.5的二进制表示就为 11.1 # 把0.1转换为二进制0.1 * 2 = 0.2 ---- 00.2 * 2 = 0.4 ---- 00.4 * 2 = 0.8 ---- 00.8 * 2 = 1.6 ---- 10.6 * 2 = 1.2 ---- 10.2 * 2 = 0.4 ----...
more...