一、上午题经验总结
1. 进制转换
- 1、
二进制的3位代表1个8进制位,4位代表1个16进制位
- 2、
16进制转十进制 = Sum(对应位置数值 * 16^权值)
2. 原码、反码、补码、移码
- 1、
+0的二进制表示为0000 0000,-0的二进制表示为1000 0000
- 2、
原码、反码、补码、移码之间的关系如下图:
graph LR
正数([正数]) --- 原码
原码 --> |等同于| 反码
反码 --> |等同于| 补码
补码 --> |首位取反,其他不变| 移码
graph LR
负数([负数]) --- 原码
原码 --> |首位不变,其他取反| 反码
反码 --> |增加1| 补码
补码 --> |首位取反,其他不变| 移码
3. 浮点数计算步骤
flowchart LR
subgraph 第一步
对阶 -.- x>低阶扩大至与最大阶码相同,尾数算数右移]
end
subgraph 第二步
尾数计算 -->y>尾数进行运算操作]
end
subgraph 第三步
结果格式化 -->z>科学记数法格式化<尾数的绝对值大于等于1,小于10>]
end
第一步 --> 第二步 --> 第三步
3. 模2除法
4. 校验码
1. 奇偶校验———检错
- 1、基本思想
- 编码中
增加一位校验位,使编码中1的个数为奇数或者偶数,从而使码距变为2
2. 海明码———检错和纠错
- 1、基本说明
- 在
数据位为n二进制数中直接插入k个校验码,且2^k = n + k + 1
- 2、计算示例
- 操作流程(根据上题所示)如下:
- 0、依题可知
信息码长度为———4
- 1、确定
检验位位数———2^r >= 4 + r + 1———r >= 3,即确定检验码为3位,分别放在最终海明码的2^0 = 1、2^1 = 2、2^2 = 4位置
- 2、确定最终海明码长度=
信息位数+检验位数———4 + 3 = 7
- 3、确定检验位和信息位————检验位位于最终海明码的(4、2、1)位置,信息位位于最终海明码的(7、6、5、3)位置———101?1??
- 4、得到信息位
对应位数的二进制多项式
- 1)7 = 2^
2 + 2^1 + 2^0———该信息位值1需要参与r2、r1、r0的异或计算
- 2)6 = 2^
2 + 2^1———该信息位值0需要参与r2、r1的异或计算
- 3)5 = 2^
2 + 2^0———该信息位值1需要参与r2、r0的异或计算
- 4)3 = 2^
1 + 2^0———该信息位值1需要参与r1、r0的异或计算
- 5、确定检验位的二进制多项式在信息位对应位数的二进制多项式是否出现(如果出现,让其对应的信息位数据参与异或操作,最终得到检验位的数据)
- 1)r2 = I4 ⊕ I3 ⊕ I2 = 1 ⊕ 0 ⊕ 1 = 0
- 2)r1 = I4 ⊕ I3 ⊕ I1 = 1 ⊕ 0 ⊕ 1 = 0
- 3)r0 = I4 ⊕ I2 ⊕ I1 = 1 ⊕ 1 ⊕ 1 = 1
- 6、检验位数据分别为
0、0、1,因此最终信息1011的海明码为1010101
- 7、海明检验码除了
可以检错还可以纠错———如果收到的信息为1011101,则可知信息位为1011,校验位为101
- 8、按照原来产生校验位的形式,再次产生校验位,即得到正确的校验码———001
- 9、将收到的检验位和产生的检验位进行异或操作,得到新的结果———101 ⊕ 001 = 100 = 4
- 10、因此第4个位置出错了,进行修正(1更正为0,0更正为1)后得到新的结果———1010101
3. 循环冗余校验码———检错
- 1、基本说明
- 利用
生成的多项式为k个数据位产生r个校验位
编码格式 = k个数据位之后跟r个校验位
编码长度 = k+r
- 2、计算步骤如下(
11001010101为例;多项式为x^4 + x^3 + x + 1):
- 1、将多项式转换成二进制形式———x^4 + x^3 + x + 1(代表2的4次方、3次方、1次方、0次方各有一个1)———即为二进制的11011
- 2、在原始报文后添加与生成多项式长度减1个0———110010101010000
- 3、对改变过后的原始报文进行模2除法操作,得到其余数———0011
- 4、将得到的余数拼接在原始报文后,即得到其CRC编码后的结果———110010101010011
- 5、在接收到该CRC编码之后,与多项式生成的二进制形式进行模模2除法后,余数为0,即证明其是正确的
5. 存储设备访问速度
graph LR
通用寄存器 -->|大于| Cache -->|大于| 内存 -->|大于| 硬盘
6. 存储大小关系
1B = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
8. 常见大小
2^1 = 2
2^2 = 2^2 = 4
2^3 = 2^2 * 2 = 8
2^4 = 2^2 * 2^2 = 16
2^5 = 2^2 * 2^2 * 2 = 32
2^6 = 2^2 * 2^2 * 2^2 = 64
2^7 = 2^2 * 2^2 * 2^2 * 2 = 128
2^8 = 2^2 * 2^2 * 2^2 * 2^2 = 256
2^9 = 2^2 * 2^2 * 2^2 * 2^2 * 2 = 512
2^10 = 2^2 * 2^2 * 2^2 * 2^2 * 2^2 = 1024
7. 寻址方式
隐含寻址———指令中隐含着操作数的地址
寄存器寻址———不在内存中,在CPU寄存器中,给出的是通用寄存器的编号
立即寻址———操作数本身
直接寻址———直接给出操作数在内存中的地址
8. 系统总线包括ISA、EISA、PCI;SCSI是并行外总线
9. 串行n条指令执行时间———(n代表指令条数)
10. 流水线
- 0、流水线周期计算
- 1、流水线执行时间计算(
n代表指令条数)
- 方式一———Max(
t取指,t分析,t执行) * n + 除了Max(t取指,t分析,t执行)之和
- 方式二(理论公式)———(
n - 1) * Max(t取指,t分析,t执行) + (t取指,t分析,t执行)之和
- 2、吞吐率计算
- 3、加速比计算
- (
指令条数 * (t取指,t分析,t执行)之和) / 流水线执行时间`
11. 计算环路复杂度
- 1、流图中的
环形复杂度 = 判定节点数 + 1
- 2、流图中的
环形复杂度 = 区域数(P)
- 3、流图中的
环形复杂度 = 边的条数(E) - 结点数(N) + 2
12. 内存容量计算
- 1、容量计算———
内存容量(B) = (Max(字节编址) + 1) - Min(字节编址)
- 2、单位转换———
内存容量(KB) = 内存容量(B) / (1024 = 2^10)
13. 多指令单数据流(MISD)的计算机目前没有
14. 计算机病毒
- 1、木马———
外部主机控制盗取
- 2、病毒———
- 蠕虫病毒———通过
复制自身在互联网环境下进行传播
- 宏(Melissa)病毒———
寄存在文档或模版中的病毒,一般以DOC为扩展的文件
- CIH病毒———能够
破坏计算机系统硬件的恶性病毒,只能在win95\win98\winMe
15. 加密算法分类
- 1、对称加密———加解密
使用相同的密钥
- 2、非对称加密———加解密
使用不同的密钥
- RSA(512/1024密钥)
- Elgamal(哈夫曼树算法)
- ECC(椭圆曲线算法)
- 背包算法
- Rabin
- D-H
16. 系统可靠度计算
- 1、
并联系统———系统可靠度 = 1 - ((1 - R1) * (1-R2) * ... * (1-Rn))
- 2、
串联系统———系统可靠度 = R1 * R2 * ... * Rn
- 3、
混合模型———(分成多个并联和串联)单独计算,然后再求整体
17. 计算机时钟计算
- 1、
指令平均时钟数 = 总时钟数 / 总指令条数
- 2、
计算机运行速度(MIPS) = 时钟频率(M)/指令平均时钟数
18. 双符号位判决法
- 1、若采用
两位表示符号,即00表示正号,11表示负号,则溢出时两个符号位就不一致了,从而可以判定发生了溢出。这需要通过异或运算判别
19. 函数调用传参
- 1、传值方式
只能实参传递给形参(单向———改变形参不影响实参)
- 2、引用方式
20. 正规表达式求解示例
- 1、求语音
L = {a^mb^n | m>=0,n>=1}的正规表达式
m>=0———a有0个或者多个
n>=1———b有1个或者多个
- 所以正规表达式为———a ^ * b b ^ *
21. 编译过程
- 1、词法分析
- 2、语法分析
- 根据
语法规则将单词符号序列分解成表达式和语句和程序等各类语法单位
- 3、语义分析
- 4、中间代码生成———
分水岭(前边的步骤和机器无关,后续的步骤和机器有关)———不是每种编译器都必须的
- 5、代码优化———
不是每种编译器都必须的
- 6、目标代码生成(是
分配寄存器的阶段)
- 7、符号表管理
记录各个符号的必要信息,辅助语义的正确性检查和代码生成
- 8、出错处理
- 分类———分为
动态(逻辑错误)和静态(语法和静态语义错误)错误
- 任务———
检查错误、报告出错信息、排错、恢复编译工作
22. 确定的有限自动机和不确定的有限自动机是等价的———可标识的记号相同
23. 文法分类
0型(短语)———图灵机
1型(上下文有关)———线性有界自动机
2型(上下文无关)———下推自动机
3型(正规/线性)———有限状态自动机
24. 配置数据库
25. 七层模型

- 1、
交换器(多端口网桥)———各个接口形成一个广播域
- 2、
集线器(多端口中继器)———所有端口组成一个冲突域
26. 关系代数运算(元组———记录数;元关系———列数)
- 1、
并———A∪B———A或B有的
- 2、
差———A-B———A有的,B没有
- 3、
交———A∩B———A和B共有的
- 4、
笛卡尔积———AxB———A的每一条记录和B的每一条记录进行依次拼接
- 5、
自然连接———A⋈B———依据公共列将B在A中没有的列拼接在A后边
- 6、
投影———πB(A)———从A中选择出符合B条件的列
- 7、
选择———σB(A)———从A中选择出符合B条件的行
二、下午题经验总结
1. 数据流图设计
2. 数据库设计
3.