计算机历史
计算编程也是语言
离散数学是核心
布尔代数
编程=数据结构+算法
计算机物理:电子管(高保真,音响),晶体管(半导体,放大开关),集成电路
计算机发展
- 数手指
- 结绳记事
- 算筹
- 算盘
- 机械计算机(1642.帕斯卡,pasci)
- 步进计算器(1674,莱布尼茨)
- 差分机/分析机(1822,巴贝奇)
- 电子管(1906)
- IBM(1924)
- 马克一号(1936)
- 1946-12.1939-图灵机
计算机结构
CPU:大脑,
核心指令和数据:命令和数据都是应用上的概念
算术逻辑单元ALU
控制单元CU
MM主存储器
M3-汇编
计算机基本概念
存储器
外存储
内存:只读存储器不会消失
寄存器:位于CPU内部存储单元:存储器被划为若干个
存储单元,每个单元从0开始编号,例如一个存储器有128个单元
存储容量:最小信息单位是bit,也就是一个二进制位,8bit构成一个字节byte,128个字节存储单位是01010101
一个存储器有128个单元
寄存器
CPU对存储器的读写
- 地址
- 控制
- 数据
导线:总线(地址,控制,数据)传递的电信号为高低电平(01)
电平信息(机器码)
总线
地址总线
一个导线的稳定状态为2种,0-1
控制总线
写命令一根线,读命令一根线
主板等硬件
主板与器件通过总线相连
(地址总线+数据总线+控制总线)
RAM随机存储器ROM
BIOS:基本输入输出程序,开机自检系统跟自启动程序
CMOS内存微机主板上的BIOS芯片中一块可读写的RAM芯片,主要用作保存当前系统的硬件配置和操作人员的参数的设定,有后备电池供电。
计算机软件发展史
1983 C++
1991 python
1996 java
2001 java-C#
2009 Go
进制与进制运算
每一种进制都是完美的,他自身就是一个完整的体系,可以进行各种运算
二进制的简写与转换
熟练掌握二进制与十进制之间的转换
二进制转十进制的算法:位权表示法
其中B表示二进制数符号
D表示十进制数符号
H表示16进制数
十进制转二进制
不足八位要补全
十六进制转十进制
数据宽度
1.计算机中的数字,是没有大小限制的,可以无限的大。但是在计算机中,由于受到硬件的制约,数据都是有长度限制的
2.’数据宽度’是内存存储单元的宽度
有符号数无符号数
有符号数
整数:最高符号位为1
负数:最高符号位为0
在前面加上0x,让人明白这是16进制的写法
简单理解就是电路有两种状态,开关操作开算作0,关算作1,这是用两个符号来记录的,就是二进制数,对应到计算机里的0或者1,在这里计算机里起了个新名字,叫做位(bite)
原码反码补码
无符号编码规则:无符号数全部都是整数,是什么就存什么
有符号编码规则:最高有效位为0,是正数,最高有效位为1是负数
符号位(0,1)
减法运算换算成加法运算,效率更高
2 - 3 = 2 + (-3)
存入计算机的是补码
==总结:==
- 正数原码存储,原码跟补码相同
- 负码补码存储
- 符号位1不参与取反
转换说明
-7 | F9 | |
---|---|---|
原码 | 10000111 | 11111001 |
取反反码 | 11111000 | 10000110 |
+1补码 | 11111101//F9 | 10000111//-7 |
计算时要用补码进行计算
14布尔代数
与运算
两个位都为1时,结果为1(串联电路)
1011 0001 | |
---|---|
and(&) | 1101 1000 |
1001 0000 |
或运算
只有一个为1就是1(并联电路)
1011 0001 | |
---|---|
or(|) | 1101 1000 |
1111 1001 |
异或运算
不一样的时候是1,交叉并联
1011 0001 | |
---|---|
xor(^) | 1101 1000 |
0110 1001 |
非运算
0就是1 1就是0
1101 1000 | |
---|---|
not(~) | 0010 0111 |
位运算之加减乘除
左移
进位<<
各个二进制全部左移若干位,高位丢弃,低位补0
右移
各二进制位全部右移若干位,低位丢弃,高位补0,高位补0或者补符号位