《程序是怎样跑起来的》这本书的第三章主要是探讨计算机运算小数时可能出现的问题以及相应的解决方案。
在这一章节中,作者提出了一个问题:为什么计算机运算小数会出错?答案是因为有些十进制小数无法用二进制准确表示,这可能导致程序运行结果与预期存在偏差 。为了解决这个问题,作者介绍了几种小数的表达方式,包括浮点数、EXCESS系统和正则表达式。其中,浮点数的表现形式由符号、尾数和指数三部分构成。尾数部分需要使用正则表达式来制定统一规则,以便用二进制来表示其他进制数。指数部分采用的是EXCESS系统,即一组数中中间的那个数为零,大于它的数用正来表示,大几就用几来表示;小于它的数反之。这种表示方法可以避免因为小数无法精确表示而导致的计算错误 。然而,即使使用了这些方法,仍然有可能出现错误,因为它们在实际应用中可能会变得相当复杂。因此,作者还提供了两种避免计算机出错的策略:一是选择忽视这种问题,二是将问题转换为整数计算 。
此外,作者还谈到了二进制和十六进制这两种进制。虽然二进制和十六进制都可以用来表示小数,但十六进制相比二进制可以节省空间,也更易于理解和应用。这一章节通过实例和解释,深入浅出地解答了计算机运算小数时可能遇到的问题,并提供了一些实用的解决方案,对于希望深入了解计算机运算原理的读者来说,是非常值得一读的。