《程序是怎样跑起来的》第三章有感
计算机之所以叫"计算"机就是因为发明它主要是用来计算的,"计算"当然是它的特长,在大家的印象中,计算一定是非常准确的。但实际上,即使在一些非常基本的小数运算中,计算的结果也是不精确的。
实际上,不是运算本身会出错,而是计算机根本就不能精确的表示很多数。
比如0.1这个数,计算机是用一种二进制格式存储小数的,这个二进制格式不能精确表示0.1,它只能表示一个非常接近0.1但又不等于0.1的一个数。
数字都不能精确表示,在不精确数字上的运算结果不精确也就不足为奇了。
那么怎么来避免计算机出现的错误呢,有这两种方法:一就是回避策略,即无视这些错误。另一个呢就是把小数转换成整数来计算。