内存中的程序和数据有什么区别?难道程序就不是数据吗?

内存中的程序和数据有什么区别?难道程序就不是数据吗?,第1张

程序数据原本没有任何区别,在内存中都只是以二进制形式存储的数据。

现在的理解是当CPU指向你这段数据的地址,并且运行它,那这些数据就成了程序,或者说指令,也就是被CS,IP指向了。

就像运行中的程序才能成为进程有类似的概念。

在国标《质量管理体系 基础和术语》GB/T19000—2008/ISO9000:2005中第3.4.5条 程序procedure中对于“程序”的定义进行了规定。

一个环节,内部嵌套着一系列复杂的列逻辑慎密的一个组件,如若一个地方出问题则会影响到整个主体(可以理解为事务)。

在中华人民共和国国家标准《质量管理体系 基础和术语》GB/T19000—2008/ISO9000:2005(代替GB/T19000—2000)中第3.4.5条 程序procedure中对于“程序”的定义是“ 为进行某项活动或过程(3.4.1)所规定的途径。”

冯诺依曼计算机模型中存储器能够存放程序,因为冯诺依曼计算机模型的内存中存放了指令,指令就是程序的组成部分,所以说分诺依曼计算机模型中存储器存放了程序。

本质上来说程序也算是数据,在冯诺依曼提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。

指令和数据不加区别混合存储在同一个存储器中,数据和程序在内存中是没有区别的,它们都是内存中的数据。

冯诺依曼计算机模型的特点:

1、计算机处理的数据和指令一律用二进制数表示。

2、顺序执行程序,计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器,计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行。

3、计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

4、将软件和硬件完全分离,指令由 *** 作码和 *** 作数组成。

以上内容参考:百度百科-冯·诺依曼结构

这个问题尝试解答下。

用户输入的数据有可能是错误的数据,这个错误主要表现在,无法和程序中接受的数据相互匹配。比如要求输入一个整型数据,用户输入一个浮点型的数据,或者是输入一个字符串,甚至乱码,都有可能造成程序接收数据后无法处理,也就没有办法计算。

不同就在于用户输入数据类型和数字范围的不确定性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12061824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存