一、前言
《计算机专业导论》哈尔滨工业大学 慕课_哔哩哔哩_bilibili
1、计算机怎么学
学习计算机,不是简单的学习如何修电脑,也不是简单的学习应用程序的使用,而是要达能够达到知道计算机底层的执行原理,知道如何设计计算机程序(这辈子够呛了😟😭😭)。要把自己的思维和眼光放的高一些。
所谓计算机科学,主要还是针对的“计算”,这里的计算主要是指把自然生活中的问题,用计算机进行处理。这里就要用到数学的知识了,数学是指人进行计算,而这门学科研究的是机器的计算。
涉及到机器计算,又要牵扯到一些更深入的问题:
- 如何编写能够让计算机看的懂的程序呢?
生活中如果语言不通,常常会出现对牛弹琴的囧境,为了和外国人交流,我们要学习彼此的语言,想让计算机能够服务于我们也一样,我们需要学习计算机语言,并且计算机要通过编译程序才能看的懂我们写的程序语言。
- 程序怎么被计算机自动计算呢?
我们写的程序是要运行在操作系统上的,否则就无法执行指令。
- 如何更好的处理问题呢?
通过了解数据结构和算法,我们可以将问题使用不同的数据结构及算法编写成程序,然后交给计算机执行。
一些思维方式的转变,下面这张图自己得好好理解一下:
另外要好好理解计算机的进阶次序:
2、计算机的实现
巴贝奇差分机,通过差分进行计算平方的值,后来实现了用齿轮进行计算的方式,可以说是里程碑式的壮举。
实现计算机有两个最主要的部分:数据和计算规则。而数据又涉及到如何表示和如何存取的问题,计算规则涉及到如何执行的问题,这些构成了计算机学习的各个部分。
正如上面所说的,计算机中执行计算的是CPU(中央处理器),它是我们连接输入到输出的一个桥梁,而完成存取任务的是存储设备,比如内存和外存。
而随着科技的发展,一般发展的也就是这么几个部分:输入设备(鼠标、键盘等)、输出设备(显示器,显卡好坏)、计算设备(CPU的优劣)、存储设备(固态硬盘、闪存等等)。
3、计算机技术的发展
开始从十进制的方式转换为二级制,从而使用电子管作为元器件,然后冯诺依曼提出运算和存储分离
,从而解决运算很快而读写很慢导致计算机很慢的问题。接着元器件从电子管变为晶体管,但是焊接的时候并不牢靠,后来人们就采用把它们封装起来,变成了集成电路。
- 进行计算和控制的是微处理器,微处理器的最主要的指标是
字长
,8位-->16位-->32位-->64位;运算速度的主频
(单位是Hz)。 - 进行存储的设备:磁芯存储器-->半导体-->磁盘(硬盘软盘)-->光盘-->闪存-->固态硬盘、U盘等。
- 输入设备:穿孔纸带-->键盘输入-->鼠标输入-->感知输入。
- 输出设备:略
二、符号化、计算化与自动化
1、整体思考
现实问题转化为数学模型,变为二进制0、1,然后进行计算,二进制可以用电路实现,这样就转化为电路的组合逻辑运算,简单的电路逻辑运算进行分层-封装为复杂的电路,最后计算后变为0、1表示的结果,最后解码为现实的结果。
2、用0、1表示信息
- 数值信息可以用0、1这样的二进制表示:包括带有权值的数位(个十百千位)和数码,4396就是4千 + 3百 + 9十 + 6表示;二进制同理。
- 非数值信息可以用编码的方式表示:编码是以若干位数码或符号的不同组合来表示非数值性信息的方法,它是人为地将若干位数码或符号的每一种组合指定一种唯一的含义。
ASCII码:是英文字母与符号的0,1型编码方法,是用7位0和1的不同组合
来表示10个数字、26个英文大写字母、26个英文小写字母及其一些特殊符号的编码方法,是信息交换的标准编码。最高位为0,其他7位是0和1。

比如We这个单词看图就可以表示为:01010111 01100101。
思考:英文字母很少,所以表示很容易,但中文有很多个汉字,如何表示,其他国家怎么表示?
汉字可以采用2个字节表示。但是如果采用2个字节表示,那么怎么确定这两个字节是2个英文字母,还是一个汉字呢?比如上面这个We的二进制,它是英文单词,还是某个中文汉字的表示呢?可以采用每个字节最高位变为1的方式,这个叫汉字内码。
输入的时候是上面这种方式,而输出的时候,汉字采用的是汉字字形码,汉字在计算机内部采用汉字内码存储,汉字内码是一两字节且最高位均为1的0,1型编码。
3、用0、1进行计算
基本逻辑运算:
- 与运算(&):X和Y都是真才为真
- 或运算(OR):当X和Y都为假时, X OR Y也为假; 其他情况, X OR Y均为真
- 非运算(NOT): 当X为真时, NOT X为假;当X为假时, NOT X为真
- 异或运算(XOR):当X和Y都为真或都为假时, X XOR Y为假; 否则, X XOR Y为真
下面这个图:1为真,0为假
4、符号表示
十进制变为二进制,然后二进制的最高位是符号位,1表示负数,0表示正数。
原码就是数字的二进制 + 符号位。
正数的反码和原码相同,负数的反码是这样算的,符号位不变,数字的二进制全部变号
,1变成0,0变成1。
正数的补码和原码相同(正数的三码合一
),负数的补码是反码的基础上 + 1。
机器数受位数限制,超出这个位数能表示的数,叫做溢出
。
之所以使用补码是因为原码和反码表示+0和-0的时候不一致,而且使用补码可以使减法计算变为加法计算。
5、电路实现逻辑运算
用电路开关实现逻辑运算
高电平为1,低电平为0。
用二极管和三极管实现逻辑运算
与、或、非:用这种方式实现的叫与门、或门、非门。
6、电路符号的抽象
- 与门电路:是实现逻辑与运算的集成电路,即:只有当两个输入端为高电平(1)时,则输出端为高电平(1);否则,输出端为低电平(0)。
- 或门电路:是实现逻辑或运算的集成电路,即:只有当两个输入端为低电平(0)时,则输出端为低电平(0);否则,输出端为高电平(1)。
- 非门电路:是实现逻辑非运算的集成电路,即:当输入端为高电平(1)时,则输出端为低电平(0);输入端为低电平(0)时,则输出端为高电平(1)。
- 异或门电路:是实现逻辑异或运算的集成电路,即:当两个输入端同为高电平(1)或同为低电平(0)时,则输出端为低电平(0);否则,输出端为高电平(1)
7、加法器
就是每一权位都使用加法器进行计算。
多位加法器:
8、进位计数制
也就是上面介绍的用数码 + 带有权位的数位表示数的方式。
r进制数转换为十进制:以前介绍过,也就是每一权位的权值×数码之和。
十进制转换为r进制:整数部分是除权数取余数,小数部分是乘权数取整数
二进制转十六进制,四位二进制数一组求成十六进制,转换成八进制数一样。
9、小数点的表示
定点数:小数点默认在某个位置。这种方式一般用来表示纯整数和纯小数。
浮点数:小数点位于
如何表示数: