大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。
当前系列: 认识计算机 修改讲义

问:计算机不是用来上网聊天打游戏的么?和计算有啥关系?

数字化

上网聊天打游戏,分拆一下,我们用到的其实就是:文字/图片/音视频……

计算机把这些所有的内容都转换成数字,就是所谓的数字化。转换成数字的内容就可以被称之为数据

数据就可以用于计算。

而且,计算机除了进行数值/学计算(加减乘除,比如3+2-5),还可以进行逻辑计算,比如:

  • 判断:等于、大于、小于,以及由此衍生出来的:包含、以xxx开头/结尾、在xxx区间……,结果为或者
  • 基于真假,再次进计算:
    • 取反(真变假/假变真):飞哥的《野生程序猿:优先招聘》,要求 不是 计算机专业
    • 或(多个条件满足一个):招聘启事,精通SQL Sever MySQL
    • 且(多个条件都要满足):丈母娘的条件,有车有房

所以我们要从一个更大的概念上理解:数据和计算。

以上两点,也就是计算器和计算机的区别。


IT和计算机

很多人会把 IT 等同于 计算机/互联网。

实际上,IT(Information Technology)本义就是信息技术。严格来说,信息(information)的概念比数据(Data)要广。

信息不一定是数据,比如:

  • 用纸写的一封信、老式的照片、磁带里面的一段对话,都是信息,
  • 但这些信息没有被“数字化”,只有我们的信/照片/对话被用数字形式存储到计算机之后,他们才被称之为数据。

逸闻史话:模拟/数字计算机

只是现在信息的处理(存储、传输、检索……)几乎全部都是由计算机完成,所以我们才将IT和计算机混为一谈。


@想一想@:上网聊天打游戏时,计算机进行了哪些 数据操作 和 计算工作?

  • 数据传输:登录 / 浏览 / 聊天 (网络传输)
  • 比较判断:登录(用户名和密码:用户输入和服务器存储是否一致) / 击中
  • 加减:掉血 / 积分 / ……


数据格式:二进制

计算机底层(包括计算机网络中)所有的数据都以二进制形式存储和传输:万物皆0,1

二进制是现代计算机的基石,也是冯·诺依曼结构的重要组成一部分。

“二进制”简单的说,就是:逢二进位。

对比理解:

  • 十进制:逢十进位,数字只有0-9,没有十,十要用1和0组合表示:10
  • 二进制:逢二进位,数字只有0和1,没有 二,二也要用1和0组合表示:10
所以,@想一想@:二进制中1+1=?

其他进制:半斤八两(16进制),小时/分钟(60进制)……

其中,在计算机科学中用16进制也比较常见(16=2^4),方法是从十开始,依次用ABCDEF表示十到十六。


为什么选择二进制?

地摊文学:受到了阴阳太极的启发,1代表阳,0代表阴……

我看到一种说法:腓尼基的水手会用二进制计算货物……

实际上,主要是因为便于机器——尤其是电子设备——进行存储/运算。

首先,存储简单。比如:

  • 打孔卡片/纸带:有孔0,无孔1
  • 电路:通电1,断电0

@想一想@:10进制你怎么记录23456789?(转筒/尺子)

然而,运算简单。十进制你得教会机器99加法表,但二进制只需要:

  • 0+0=0
  • 1+0=1
  • 1+1=10

就可以了(这还是把0都给包含进来了)。

最后,二进制还可以非常方便的进行逻辑运算。比如:1代表真,0代表假;然后,也能很方便的进行控制:

  • 一个开/关:真/假
  • 两个开关串联:且
  • 两个开关并联:

这种电路就被称之为门电路用以实现基本和复合逻辑运算的单元电路。

实际上,包括加减乘除,都是由门电路实现的。(仅需了解)


名词理解

现在我们就可以来捋一捋了:

  • 为什么芯片被称之为集成电路
  • 为什么芯片产业又被称之为半导体产业:断电通电靠“半导体”:既(不)是导体,也(不)是绝缘体的这一类物质。
  • 什么是碳基(人类)文明,什么是基(计算机)生物?目前使用的半导体材料就是硅(+磷/硼)。


十进制二进制转换

本节内容仅供小白面试使用,^_^


二转十

比如:100101,首先将其拆成:

+100000(2^5=32)
+000100(2^2=4)
+000001(2^0=1)
------------
=100101(37)

体会:986 = 900+80+6 = (9x10^2)+(8x10^1)+(6x10^0)


十转二

如果数字小,比如:88,可以用“二转十”的逆运算:88=64+16+8=2^6+2^4+2^3,所以结果为:1011000

如果数字大,可以用除2取余,逆序排列法。

88/2=44...0
44/2=22...0
22/2=11...0
11/2=5 ...1
5/2=2  ...1
2/2=1  ...0
1/2=0  ...1

演示:平时开发,用程序员计算器


存储容量单位

比如你的硬盘500个G,能装500个G的数据,啥意思呢?

存储在计算机中的二进制数据,就这个模样:

10101010101011111101001010010000000101010101010101010所以我们有时候也用“长度”来表示数据的大小。

  • 每1个数字就占1位(bit,简写b),所以可以说:16/32位的整型数据……
  • 每8位数字就是1个字节(Byte,B,注意大小写)

对于更大的数据:

  • 每1000(或1024=2^10)个字节就是1千字节(KB)
  • 每1000个千字节就是1兆(千)字节(MB,简称兆,简写M),
    注意:还有一个Mb(小写b)通常是我们在办宽带的时候不良商家宣传用的,表示1024位(bit),所以你100Mb带宽最后下载速度只有100/8=12.5MB了,^_^
  • 每1000M就是1G
  • 每1000G就是1T
学习笔记
源栈学历
大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。

作业

觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 认识计算机 中继续学习:

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码