2.1思考点
2.1.1 K进制小数对金融工作中的影响
本课中提到,虽然整数格式都可以通过2进制来表示,但是小数是通过2的负幂相加的形式来形成的。
这就造成,在内存有限的情况下,一些十进制有限位小数,不能够用二进制的有限位数表示出来。例如4.9,只能精确的表示为4.89999之类的一个很接近的数。
这让我想起了一件事,一位大学金融系的同学,他毕业后在基金公司工作。
某一次突然看到他在朋友圈上紧急求助,说excle表(好像是)的计算出了问题,某一个数据的计算结果就是对不上。
有人问,是不是取两位小数造成的影响,他回答说,不是小数点后几位数的约数问题,就是excle计算,不知道怎么回事儿。
我挺好奇,过了会儿,也好奇是怎么回事儿。按说,毕竟跟这哥们还是比较熟悉的,一般的低级错误不会犯。
过了大概1、2个小时,他在朋友圈里表示感谢,并说明了excle计算出错的原因。
记得大体意思是,计算机进行小数计算时,由于本身的表示问题,并不能够真的那么精确。
当时我也是挺惊讶的,毕竟之前觉得计算机的计算能力是最核心的,怎么会出问题呢?
但当时的知识并不足以让我明白是怎么回事儿。
今天在mooc上看到对二进制结构和小数表示的讲解,才反应过来是怎么回事儿,终于解开了之前的困惑。
趁着这股兴奋劲儿,把这个经历记录下来,希望能对大家有帮助!