上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第2章 浮点数设计原理与使用方法
2.1 浮点数陷阱
整数数据类型(如int32、int64)无法表示小数,而浮点数能够在程序中高效表示和计算小数,但是在表示和计算的过程中可能丢失精度。以下面的一段简单程序为例,有人会天真地认为其输出结果是0.9,但实际的输出结果是0.8999999999999999。
结果的荒诞性告诉我们,必须深入理解浮点数在计算机中的存储方式及性质,才能正确处理数字的计算问题。很多初学者,甚至编程经验很丰富的开发工程师都经常在浮点数上栽跟头。如果对资金等重要数据的运算发生错误,那么可能导致灾难性的后果。本章将深入介绍浮点数的本质及在实践中需要注意的问题。