计算机三大原则
引言
硬件和软件的区别是什么?
- 硬件是看的见摸得着的设备,比如计算机主机、显示器、键盘等。而软件是计算机所执行的程序,即指令和数据。软件本身是看不见的。
- 硬件(Hardware)代表 “硬的东西” ,而软件(Software)代表 “软的东西” 。是硬的还是软的取决于眼睛能否看得到,或者实际上能否用手摸到。
存储字符串 “中国” 需要几个字节?
- 在GBK字符编码下,存储 “中国” 需要4个字节。
- 存储汉字时,字符编码不同,汉字所占用的字节数也就不同。在GBK字符编码下,一个汉字占用2个字节。而在UTF-8字符编码下,一个汉字占用3个字节。
什么是编码(Code)?
- 通常将为了便于计算机处理而经过数字化处理的信息称作编码。
- 计算机内部会把所有的信息都当成数字来处理,尽管有些信息本来不是数字。用于表示字符的数字是 “字符编码” ,用于表示颜色的数字是 “颜色编码” 。
1.1 计算机的三个根本性基础
- 计算机是执行输入、运算、输出的机器
- 程序是指令和数据的集合
- 计算机的处理方式有时和人们的思维习惯不同
1.2 输入、运算、输出是硬件的基础
- 从硬件上来看,可以说计算机是执行输入、运算、输出三种操作的机器。
- 计算机的硬件由大量的 IC(Integrated Circuit,集成电路)组成。每块 IC 上都带有许多引脚。这些引脚有的用于输入,有的用于输出。IC 会在其内部对外部输入的信息进行运算,并把运算结果输出到外部。
- 无论是多么复杂的功能,都是通过组合一个又一个由输入、运算、输出构成的流程单位来实现的,这是毋庸置疑的事实。
- 输入、运算、输出三者必须成套出现,缺一不可。
1.3 软件是指令和数据的集合
- 所谓程序,只不过是指令和数据的集合。无论程序多么高深、多么复杂,其内容也都是指令和数据。
- 所谓指令,就是控制计算机进行输入、运算、输出的命令。把向计算机发出的指令一条条列出来,就得到了程序。在程序设计中,会为一组指令赋予一个名字,可以称之为 “函数” “语句” “方法” “子程序” 等。
- 程序中的数据分为两类,一类是作为指令执行对象的输入数据,一类是从指令的执行结果得到的输出数据。在编程时程序员会为数据赋予名字,称其为 “变量” 。
- 无论是哪个程序,其内容都是数值的罗列,每个数值要么是指令,要么是数据。
1.4 对计算机来说什么都是数字
- 计算机用数字表示所有信息。
- 例如,计算机在处理文字时,会先把文字转换成相应的数字再做处理,这样的数字叫作 “字符编码” 。
- 无论计算机所处理的信息是什么形式,只要把它们都当成是数字就可以了。
1.5 只要理解了三大原则,即使遇到难懂的最新技术,也能轻松应对
例子
这里摘录了一段有关.NET技术的介绍,.NET 是微软公司率先提出的一种新技术。如果要正式地介绍 .NET 技术,就会像下面这样进行说明。
有关.NET的说明之一
- 微软公司率先提出了作为新一代互联网平台的 .NET 技术。作为. NET 核心的 XML Web服务使用通用技术 SOAP、XML,促使企业间的计算机协同工作。
把.NET的核心技术对照着计算机三大原则再介绍一遍的话,就会像下面这样进行说明。
有关.NET的说明之二
- 计算机是执行程序的机器。程序是指令和数据的集合。为了使互联网上相互连接的计算机能通过程序协同工作,微软公司采用了 SOAP 以及 XML 规范。SOAP 是关于调用指令的规范,XML 则是定义数据格式的规范。
- 只要定义出了指令和数据的规范,装有符合规范的程序的计算机自然就可以相互协作了。所谓计算机的协同工作指的是,输入到一台计算机中的数据,可以通过互联网传送到与这台计算机相连的其他计算机上执行运算,运算所输出的结果再返回给这台计算机。像这样部署在其他计算机上能执行某种运算的程序就叫作 XML Web 服务。
1.6 为了贴近人类,计算机在不断地进化
- 围绕着计算机的技术正在以狂奔般的速度不断进化,与其说是日新月异,倒不如说是 “秒新分异”。
- 计算机进化的目的只有一个——与人类更加相近。
- 编程方法也在进化,进化的成果是诞生了两种编程方法,面向组件编程(Component Based Programming)和面向对象编程(Object Oriented Programming)。这两者的进化目标一致,都是使程序员可以在编程中继续沿用人类创造事物时的方法。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构