00:00:00
计算机基础 原创
一、考纲要求
- 进制的转换
- 二进制、十进制和十六进制常用的数制及其转换
- 计算机内数据的表示
- 数的表示(源码、反码、补码,移码的表示,正式和实数的机内表示,精度和溢出)
- 非数值表示(字符和汉字表示、声音表示、图像表示)
- 校验方法和校验码(就校验码、海明校验码、循环冗余校验码)
- 算数运算和逻辑运算
- 计算机总的二进制运算方法
- 逻辑代数的基本运算
- 其他数学基础知识
- 计算机系统组成、体系结构的分类及其特性
- CPU和存储器的组成、性能和基本工作原理
- 常用I/O谁败、同行设备的性能及其基本工作原理
- I/O接口的功能、类型和特性
- I/O控制方式(终端系统、DMA、I/O处理机方式)
- CISC/RISC、流水线操作、多处理机、并行处理
- 存储系统
- 主存(Cache)存储系统的龚总原理
- 虚拟存储器的基本工作原理、多级存储体系
- RAID的类型和特性
- 可靠性与系统性能评测的基础知识
- 诊断和容错
- 系统可靠性分析下评价
- 计算机系统性能评测方式
二、考点
- 数值的表现形式及其转换
- 计算机内数据的表示
- 计算机系统组成
- 指令系统
- 输入输出技术
- 存储系统
- 总线系统
- 磁盘阵列技术
- 计算机可靠性
三、数值及其转换
- 十进制-符号
D:符号所在的未知反应权重,计数有 0~9,共10种符号,逢十进一,权重为(10) - 二进制-符号
B:0,1 两种符号,逢二进一,权重为(2) - 八进制-符号
O:0,,1,2,3,4,5,6,7八种符号,逢八进一,权重为(8) - 十六进制-符号
H:0,,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六种符号,逢十六进一,权重为(16)备注
权重为当前进制,方便后续转换成2进制
10进制为10,其他任意R进制的权重为R
3.1 任意进制到十进制的转换
设当前有 进制的数,数值为 那么将此值转换成十进制 时对应写法为
示例
有8位二进制数,不考虑符号位 转换成十进制
可写成如下所示
3.2 十进制到任意进制的转换
十进制到任意进制的转换可以使用短除法,如下图所示 53 转换为二进制表示
备注
设将要转换的进制为 则只需要将短除法左边的 2 更改为 即可,其余不变
3.3 二进制到十进制的转换
二进制到十进制的转换遵从 任意进制到十进制的转换 规则。
常用二进制与十进制的值
| 2的次方数 | 二进制数 | 十进制数 |
|---|---|---|
| 0.001 | 0.125 | |
| 0.01 | 0.25 | |
| 0.1 | 0.5 | |
| 1 | 1 | |
| 10 | 2 | |
| 100 | 4 | |
| 1000 | 8 | |
| 10000 | 16 | |
| 100000 | 32 | |
| 1000000 | 64 | |
| 10000000 | 128 | |
| 100000000 | 256 | |
| 1000000000 | 512 | |
| 10000000000 | 1024 | |
| 100000000000 | 2048 | |
| 1000000000000 | 4096 |
二的多少次方在二进制中的表示就是在哪位上数值为 1
3.4 二进制到十六进制的相互转换
二进制 -> 十六进制:四位二进制一组,每组转换成对应的16进制符号,不足四位小数点左边则左边补0,小数点 右边则右边补0
示例
- 将二进制
1111000010.01101B转换成十六进制
. = 3C2.68H
十六进制 -> 二进制:每一个十六进制的符号对应4位的二进制符号
示例
- 将十六进制
AB26.37H转换成二进制
A -> 1010、B -> 1011、2 -> 0010、6 -> 0110 3 -> 0011 7 -> 0111
写做:1010 1011 0010 0110.0011 0111B
四、计算机内数据的表示
4.1 真值和机器数
- 真值:符合
人类习惯的数字 - 机器数:各种数据在
计算机中的表示形式称为机器数,特点是符号位使用 0 1 表示,即正负号数字化0 正 1 负
示例
+17 -> 10001 -17 -> 10001
4.1.1 机器数
4.1.1.1 有符号数
- 原码:用数值部分表示真值的绝对值,符号位
"0/1"对应"正/负" - 反码:对于正数,其反码与其原码相同,对于负数在原码的基础上
符号位不变,其余位按位取反 - 补码:对于正数,其补码与其原码相同。对于负数,在反码的基础上加1注意进位
- 移码:在补码的基础上向右边移动一位
- 反码: 对于正数,其反码与其原码相同,对于负数在原码的基础上
符号位不变,其余位按位取反 - 补码:对于正数,其补码与其原码相同。对于负数,在反码的基础上加1注意进位
- 移码:在补码的基础上符号位取反,
正数表示范围
n为机器字长, 当前正数所表示的值
- 原码: ,
- 反码: ,,与原码相同
- 补码: ,
- 移码: ,与补码相同
- 若机器字长为
8则原码、反码 、补码、移码对应的0的表现形式如下所示
- 原码: +0 -> 0000000 -0 -> 10000000
- 反码: +0 -> 0000000 -0 -> 11111111
- 补码: +0 -> 0000000 -0 -> 00000000
- 移码: +0 -> 1000000 -0 -> 10000000
- 若机器字长为
8, 写出当前数21D的正负原、反、补、移码
- 原码: +21D -> 0010101 -21D -> 1010101
- 反码: +21D -> 0010101 -21D -> 1101010
- 补码: +21D -> 0010101 -21D -> 1101011
- 移码: +21D -> 1010101 -21D -> 0101011
- 小结
- 机器字长为
n数值位数则位n-1 - 符号位在最高位,
0表示正1表示负
4.2 定点数和浮点数
4.2.1 定点数
小数点位置固定不变的数。
- 定点整数: 小数点的位置在机器数的最低数值位; eg: 1.2 而不是
- 定点小数(纯小数): 小数点的位置在机器数的最高数值位; eg: 0.11
4.2.2 浮点数
小数点位置不固定的数(能表示更大的数);
- 浮点数的表示格式: N (浮点数) = M(尾数) × R (基数 可以为 2 ,8 , 16) ^ E (阶数),写作
说明
| 阶符 | 阶码 | 数符/尾符 | 尾数 | |
|---|---|---|---|---|
阶码 的正负号 0 正 1 负 | 原本数据的正负 0 正 1 负 |
- 阶码:决定浮点数所能表示的
数值范围 - 尾数:决定浮点数所能表示的
数值精度 - 位阶码(
移码表示,包括一位阶符), 位尾数(补码表示,包括一位数符),所能表示浮点数的数值范围为:
最大正数:
最小负数:
4.2.2.1 浮点数的运算
- 阶码相同,尾数直接运算
- 阶码不同,化成阶码相同(对阶注1),在用尾数直接运算。
eg:——> 大阶到小阶则相反
4.2.2.2 规格化浮点数
目的: 充分利用尾数来表示更多的有效数字。
规格化: 将尾数的绝对值限定在区间:[0.5,1]。
4.2.3 小结
- 定点数
机器字长为 n 时各种码制表示带符号数的范围
| 码制 | 定点整数 | 定点小数 |
|---|---|---|
| 原码 | ||
| 反码 | ||
| 补码 | ||
| 移码 |
注意
当机器字长为n时,
定点数的补码和移码可以表示: 个数
定点数的原码和反码可以表示: 个数(因为:0的表示占用了2个编码)
所以,定点数能表示的数值范围比较小,在运算中,容易溢出。
4.3 校验码
- 定义: 是计算机系统运行时,为确保数据在传递过程中正确无误所采用的方法,
- 作用: 提高,提高代码的
- 基本思想
- 把数据可能出现的编码分为两类(合法编码和错误编码),合法编码用于传送数据,错误编码是不允许在数据中出现的编码
- ,使得数据在传送中出现某种错误时就会变成错误编码,这样就可以检测出接收到的数据是否有错
- 码距: 是指一个编码系统中任意两个合法编码之间 ,也就是从一个合法编码变成另一个合法编码
4.3.1 校验码种类
- 奇偶校验码
- 奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加来使编码中
1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2 - 对于
奇校验,只能检测代码中奇数位出错的编码,但不能发现偶数位出错的情况。当合法编码中奇数位发生了错误,即编码中的1变成0或0变成1,则此编码中1的个数的奇偶性就发生了变化,从而可以发现错误
- 奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加来使编码中
- 循环冗余校验码(CRC)
- 广泛用于数据通信领域和磁介质中
- 利用生成多项式
K位信息码产生R个校验位来进行编码 - 编码长度位
K + R
- 海明码
- 在有效信息位中加入几个校验位形成海明码,使码距均匀地拉大()
- 把海明码的分配到 中,当某一位出错后,就会引发有关的几个校验位的值发生变化
- 不但可以发现错误,还能位置,为提出了依据
- 数据位
n, 校验位k之间的计算公式为: