2025-11-20 05:49:41
浮点数在计算机里用二进制存储,但十进制小数无法精确表示。比如0.1在二进制里是无限循环的,存储时会被截断,多次计算就会累积误差。例如用float计算0.1+0.2,实际结果是0.000004,而用十进制精确计算应该是0.3。这种误差在金融交易或科学计算中可能放大,比如处理百万级金额时误差会达到几十元。
浮点数用二进制存储,但十进制小数无法精确表示。比如0.1在二进制里是无限循环的,存储时会被截断,多次计算就会累积误差。例如用float计算0.1+0.2,实际结果是0.000004,而用十进制精确计算应该是0.3。这种误差在金融交易或科学计算中可能放大,比如处理百万级金额时误差会达到几十元。比如用float计算100万次0.1的累加,结果会变成10009999.999999999,而正确值应该是10000000。这种误差在编程时容易被忽视,但累计到一定程度就会导致数据偏差。比如用float存储温度传感器数据,多次采样后温度值可能偏离真实值超过0.5摄氏度。
本题链接: