- 内容提要
- 序 1:程序里的世界
- 序 2:最后一层表象
- 关于本书
- 致谢
- 引言:简单的本源
- 篇一:计算系统
- 第 1 章 数,以及对数据的性质的思考
- 第 2 章 逻辑
- 第 3 章 抽象
- 篇二:语言及其面临的系统
- 第 4 章 语言
- 第 5 章 从功能到系统
- 篇三:程序设计的核心思想
- 第 6 章 数据结构:顺序存储
- 第 7 章 数据结构:散列存储
- 第 8 章 执行体与它在执行过程中的环境
- 第 9 章 语法树及其执行过程
- 第 10 章 对象系统:表达、使用与模式
- 篇四:应用开发基础
- 第 11 章 应用开发的背景与成因
- 第 12 章 应用开发技术
- 第 13 章 开发视角下的工程问题
- 第 14 章 应用程序设计语言的复杂性
- 篇五:系统的基础部件
- 第 15 章 分布
- 第 16 章 依赖
- 第 17 章 消息
- 第 18 章 系统
- 篇六:系统的基本组织方法与原理
- 第 19 章 行为的组织及其抽象
- 第 20 章 领域间的组织
- 附一:主要编程范式 及其语言特性关系
- 附二:继承与混合,略谈系统的构建方式
- 附三:像大师们一样思考——从 UML 何时死掉 谈起
- 附四:VCL 已死,RAD 已死
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
2.1 正确的 数 与正确的 算,为什么不能得到正确的结果?
在计算系统中,数据基本上来说有两个方面的性质,一是指它的标识,二是指它的内容,亦即是值。出于计算环境的限制,在以“标识与值”这样的方式描述的数据上,也存有第三个方面的性质,即值可能是确定的,或不确定的。
既然确定性是数据与使用这些数据的计算系统的终极问题,那么 我们权且认为数据是确定的 。说“ 权且认为 ”,是因为我们晚一些会讨论到它“不确定”的一面,而且为了使之可以被整个计算系统接受,我们会试图将“不确定”作为“确定”的一种特例,由此使整个计算系统的行为确定,进而让我们的计算有意义。
当我们说“ 数据是确定的 ”,是指我们可以假定标识 aNum
从开始作为数据标识,一直到它失效,其内容都是一个确定值。
当我们确定“数”是什么的时候,才能确定地描述基于该数的“算”是什么。例如说我们确定了二进制数,因而确定了基于 0、1 的加减乘除等。正是数的抽象与算的规则这种紧密的绑定关系,决定了我们不能将这一“算”的规则应用于十进制数。但这并不是说,将 正确的数 与 正确的算 耦合在一起,就可以得到一个正确的计算系统。
在我很小很小的时候,邻居的大人总喜欢出一些数学题来考我。他们问:嗨,小子,你说说“三加二减五”等于多少啊,我回答:是零。然后他们又问,那“三加二乘以五”又等于多少啊。
我回答:是二十五。
然后大人们就开心地哈哈大笑。我在 3+2、5-5、5×5 几个运算中,都正确地得到了结果“数”,并正确地应用了基于十进制数的“算”的规则,但答案是错的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论