读《程序是怎样跑起来的》第三章有感

这一章开头第一小节作者提出了一个问题,就是“将0.1累加100次也得不到10“,我也很纳闷,不理解为啥结果不是10,作者先是用一段C语言程序介绍累加的过程,然后做了解析,程序并没有出现任何语法错误,但是运行的结果并不是10.,因为计算机内部所有的信息都是由二进制的形式来处理的,因此在这一点上整数和小数并无差异,不过用二进制来表示整数和小数的方法却有很大的不同。作者用了一个例子讲述了为什么那个程序无法得到正确的结果,因为计算机是个功能有限的机器,是无法处理无限循环的小数的,因此,在遇到循环小数时计算机会根据变量的数据类型所对应的长度将数值从中间截断或者四舍五入。接着后面讲了什么是浮点数,什么是正则表达式和EXCESS系统,最后是二进制和十六进制的转化,这章的内容不是太难理解,多读几遍就能看懂了。

posted @ 2019-01-26 20:16  沐小雪  阅读(98)  评论(0编辑  收藏  举报