软件设计师考试介绍
# 软件设计师考试介绍
由日本引入的考试,原名高级程序员考试。
通过率在10%左右。
软件设计师的考试范围更广,要求更规范。
学习策略:先建体系,后整知识点。
# 考试大纲要求
- 掌握计算机内的数据表示、算术和逻辑运算方法
- 掌握相关的应用数学及离散数学基础知识
- 掌握计算机体系结构以及各主要部件的性能和基本工作原理
- 掌握操作系统、程序设计语言的基础知识、了解编译程序的基础知识
- 熟练掌握常用数据结构和常用算法
- 掌握C程序设计语言、以及C++、Java中的一种程序设计语言
- 熟悉软件工程、软件改进过程和软件开发项目管理的基础知识
- 掌握软件设计的方法和技术
- 了解信息化、常用信息技术标准、安全性,以及有关法律、法规的基础知识
- 正确阅读和理解计算机领域的英文资料
# 考试形式
计算机与软件工程知识:150分钟,笔试,75题选择题,每题1分
软件设计:150分钟,笔试,问答题
# 1. 计算机组成与体系结构
# 1.1 数据的表示
# 1.1.1 进制转换
二、八、十、十六进制的相互转换。
# 1.1.2 编码
原码
原码最高位表示符号。符号位为0,该数为正;符号位为1,该数为负。
例:
0.0101的原码是0.0101,-0.1101的原码是1.1101
补码
1、真值转换补码:
- 正数:同原码
- 负数:符号位为1,数值部分为真值的各位求反,末位+1
例:+1011的原码和补码为01011
-1010的补码为10110
-0.1010的补码为1.0110
2、补码转换真值
- 正数:同原码
- 负数:
- 第一步,先转换为原码:符号位仍为1,数值部分把尾数各位求反,末位+1
- 第二步,将负数原码符号变为“-”,即可得到真值
例:[x]补=0010 [x]原=0010 真值x=010=10
[x]补=10110 [x]原=11010 真值x=-1010
反码
正数:与原码相同
- 例:[x]原=01010 [x]反=01010
负数:符号位同原码,尾数部分为原码的反码
- 例:[x]原=11010 [x]反=10101
移码
移码的性质:
- 最高位为符号位,表示形式与原码和补码相反,1表示正,0表示负
- 移码和补码从形式上看,除符号位相反之外,其余各位相同
- 在移码表示中,0有唯一的编码,即[+0]移=100…0
数值表示范围
# 1.1.3 浮点数运算
浮点数表示:N = M × R^e^
其中M称为尾数,e是指数,R为基数。
运算步骤:对阶->尾数计算->结果格式化
# 1.2 计算机结构
- 运算器
- 算术逻辑单元ALU:数据的算术运算和逻辑运算
- 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据
- 数据缓冲寄存器DR:写内存时,暂存指令或数据
- 状态条件寄存器PSW(常考):存储运算过程中的标志位,存状态标志与控制标准(争议:也有将其归为控制器的)
- 控制器
- 程序计数器PC:存储下一条要执行指令的地址
- 指令寄存器IR:存储即将执行的指令
- 指令译码器ID:对指令中的操作码字段进行分析解释
- 时序部件:提供时序控制信号
# 1.3 计算机体系结构分类-Flynn
在Github中编辑 (opens new window)
上次更新: 2022/04/20, 21:54:58