入门学习1.1.1——K进制小数在金融工作中的影响——(程序设计与算法(一)C语言程序设计(mooc郭炜)课程学习)
本系列用于记录学习感悟,以及用思维导图的形式对学编程路上的知识进行总结。
博主为新手,如文中有错漏,欢迎大家指出!
课程链接:
https://www.icourse163.org/course/PKU-1001553023?from=searchPage&outVendor=zw_mooc_pcssjg_
或
https://www.bilibili.com/video/BV1G4411474n?spm_id_from=333.337.search-card.all.click&vd_source=3947f55bc3ba05467bb13fdf2ecc4299
1.1思维导图
2.1思考点
2.1.1 K进制小数对金融工作中的影响
本课中提到,虽然整数格式都可以通过2进制来表示,但是小数是通过2的负幂相加的形式来形成的。
这就造成,在内存有限的情况下,一些十进制有限位小数,不能够用二进制的有限位数表示出来。例如4.9,只能精确的表示为4.89999之类的一个很接近的数。
这让我想起了一件事,一位大学金融系的同学,他毕业后在基金公司工作。
某一次突然看到他在朋友圈上紧急求助,说excle表(好像是)的计算出了问题,某一个数据的计算结果就是对不上。
有人问,是不是取两位小数造成的影响,他回答说,不是小数点后几位数的约数问题,就是excle计算,不知道怎么回事儿。
我挺好奇,过了会儿,也好奇是怎么回事儿。按说,毕竟跟这哥们还是比较熟悉的,一般的低级错误不会犯。
过了大概1、2个小时,他在朋友圈里表示感谢,并说明了excle计算出错的原因。
记得大体意思是,计算机进行小数计算时,由于本身的表示问题,并不能够真的那么精确。
当时我也是挺惊讶的,毕竟之前觉得计算机的计算能力是最核心的,怎么会出问题呢?
但当时的知识并不足以让我明白是怎么回事儿。
今天在mooc上看到对二进制结构和小数表示的讲解,才反应过来是怎么回事儿,终于解开了之前的困惑。
趁着这股兴奋劲儿,把这个经历记录下来,希望能对大家有帮助!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/279492.html