计算机的三大原则

既然是三大原则,那肯定就是有三条了,也就是如下:

  1. 计算机本质上就是在执行“输入-运算-输出”
  2. 指令和数据的结合就是程序
  3. 计算机只认识数字

怎样样,这三条有没有让你长知识的感觉?尤其是这个第三条,计算机只认识数字,这个蛮重要的,基于此,有句话,大家一定要熟记于心了:

数据都是以二进制的形式存在于内存中的

输入-运算-输出

首先我们来非常直观看下,我们现在用的计算机是不是基本都是这样的:

键盘上输入相关信息,然后点击一些程序的相关按钮进行相关计算,然后在屏幕上显示出一些结果

对于笔记本电脑,一般就是一体的,我们可以看看台式机,不是那种一体机,就是那种一个主机,然后一个显示器,接着还需要一把键盘和一个鼠标,那这个配置就更加清晰了,画个图,是不是就是这样的:

image.png

看看是不是这样的,其实说到底是不是就是这么一个流程:

输入 - 运算 -输出

这个是我们很直观的可以从表面看到的这么一个流程,比如我们打开电脑上的计算器:
image.png
这个时候我们如果想计算1+1等于,我们需要进行输入,可以使用鼠标直接点击上面的数字,也可以使用键盘进行输入,比如我们使用键盘输入1+1:
image.png
这个时候我们按下键盘上的回车键之后,我们其实就完成了输入的过程,而且交由电脑去做运算,这里的运算底层实际上就是交给CPU了,然后运算结束就会把结果显示在屏幕上,这就是一个输出
image.png

以上就是完成了一个输入到运算再到输出的过程,当然,这是一个非常简单的例子,但是很多看似复杂的其实本质都是这三个步骤~

再往底层的去说一点,我们的电脑其实是由大量的集成电路组成的,这个集成电路的英文简称就叫做IC,这个玩意差不多就长这个样子:
image.png

一般这些IC上有很多的引脚,这个引脚我想我不用解释你也知道是哪个吧,这些引脚也都有各自的用处,有的可以进行输入,有的可以进行输出,而运算往往就是交由IC内部来操作的~

当然,这个说的可能让你觉得有点底层了,没干系,了解一下就行,其实我主要的还是想告诉你,或者跟你强调,计算机啊,看似复杂,其实它做的绝对大部分事情归根结底就是三步:

输入-运算-输出

比如再举一个例子,大家可以用电脑浏览网页或者看电影,比如你想看某个电影,是不是也是通过搜索(这个就是一个输入),然后经过联网请求(这个就是一个运算)最终把结果给你展现出来,你就可以点击到资源进行观看了(这就是一个输出)~

其实你可以仔细想想,是不是电脑做的很多事情都离不开输入-运算-输出这三个步骤呢?

指令和数据的结合

以上就是计算机的第一个原则了,接着我们说说第二个原则,那就是指令和数据的集合就是程序~

不知道此前你是否思考过,什么是程序呢?简单一句话,就是指令和数据的集合,其实说白了,指令也算是一种数据,只不过比较特殊而已~

对于指令,它不参与运算,而是控制运算,也就是说指令是一种命令,控制着计算机进行怎样的输入,运算和输出~

而输入,运算和输出操作的则是数据了~ 怎么样,这一点还是可以理解的吧~、

比如我们写的代码:

1
2
3
Integer s = 128;
Integer s1 = 128;
System.out.println(s == s1);

每一行代码其实都可以看做是对计算机的一个指令,然后把这些指令都给列出来就成了我们说的程序了~

当然,这个只是很简单的去说,其实你像这些个指令都会进行组合,比如几个指令组合在一起,完成一个特定的功能,比如这样:

1
2
3
public static void getAll(Object o){
System.out.println("hello");
}

然后给起一个名字,比如函数或者方法,咋样,get到了吧~

接着我们再来看数据,那数据其实也可以分为两种,想想咱之前说的第一个原则,计算机干的很多事情其实都是输入-运算-输出,那这三个步骤需要操作的其实就是数据啊,所以数据一般分为两种:

1、输入数据
2、输出数据

但是无论是哪一种数据,我们在写代码的时候总不能就叫做数据吧,像这种输入数据和输出数据,我们也会给它们起一个特定的名称,比如变量,就好比以下代码:

1
int a = 66;

我们定义了一个int类型的变量a,那说到这里,你是不是觉得有点意思了,是不是觉得有些知识被打通了呢?

所以,到了这里,请你记住:

无论多么复杂的程序,其实都是指令和数据的集合

计算机只认识数字

紧接着,我们来看看计算机三大原则中的最后一个,也就是计算机其实只认识数字~

我们表面来看,计算机是一个非常神奇的东西,可以做很多事情,觉得很多东西都是以我们自己现在的知识无法理解的,但是真的当你去细心研究学习的时候,你就会发现,看似复杂神奇的计算机,其实有些东西的确很简单~

说到底,计算机再神奇,也是需要我们来进行操作,也就是说,计算机是在为我们工作,是在按照我们的指令去执行一些事情,说白了,计算机终归只是一种工具而已~

有句话我需要再给大家强调一下,那就是:

数据都是以二进制的形式存储在内存中的

这句话你现在可以不理解,但是你一定要记住,这个其实和我们现在要说的计算机的第三个原则“计算机只认识数字”本质上是一样的~

大家是够好奇过这个问题,计算机,也就是电脑,说到底还是电子产品,各种电子元器件组成的,然后通电~

但是神奇就神奇在这里,我们可以干很多事情,可以使用word编写文档,可以使用视频软件观看电影等等,你说计算机只认识数字,那这些文字,视频,包括颜色什么的是怎么回事呢?

都用数字代表吗?

的确如此,在计算机中,其实还真的是用数字表示所有信息,像正常数字,我们说用数字表示,那没啥问题,我们可能感到疑惑的就是像颜色这些还能用数字表示?

当然可以,大家一定见过这个:

image.png
就是RGB,比如红色我们就可以用“255,0,0”来表示,那对于计算机来说,它不像我们人,说红色我们都知道是什么颜色,但是计算机不行,你得告诉它数字~

同样的,像文字也是需要用数字表示,计算机才能看得懂,那对于文字该怎么用数字表示呢?这个其实就需要字符编码了~

那这些该怎么去理解呢?其实你只要仔细思考就会发现,既然计算机只认识数字,那只要把其他需要展现的信息做一个与数字一一对应的映射表不就行了?

get到了吧?比如咱们可以用“255,0,0”来表示红色,这就是一个颜色和数字的对应啊,这个RGB其实不就是一个映射表嘛?

同样的,所谓的字符编码也是如此,也就是说,文字也可以进行编码,用数字表示,然后一一对应,这样计算机就可以进行识别了,后续你就会接触到一个叫做ASCII码的东西,这也是一张映射表,它可以将文字转换成计算机认识的数字~

那关于这点如果你想理解的更加透彻,去看看“计算机其实很笨,只认识0和1”你就会明白了~

所以到了这里,你就要有这么一个认识:

尽管计算机很神奇,但是它处理的任何信息,实际上处理的都是数字