软件设计师(原高级程序员)复习资料 专题一:计算机系统知识
软件设计师考试复习资料

软件设计师考试复习资料软件设计师考试复习资料近年来,软件设计师成为了IT行业中备受瞩目的职业。
随着信息技术的迅猛发展,软件设计师的需求也日益增长。
然而,想要成为一名优秀的软件设计师并非易事,除了扎实的专业知识外,还需要通过软件设计师考试来证明自己的能力。
本文将为大家提供一些软件设计师考试复习资料,帮助大家更好地备考。
一、软件工程基础知识软件设计师考试中,软件工程基础知识是必考的内容。
这部分内容主要包括软件开发过程、软件工程模型、软件需求工程、软件设计原则等。
在备考过程中,可以通过阅读相关教材和参加培训班来系统地学习这些知识。
此外,还可以通过解决一些实际问题来提高自己的实践能力。
二、编程语言编程语言是软件设计师必备的技能之一。
在备考过程中,需要掌握一种或多种编程语言,如Java、C++、Python等。
了解编程语言的语法规则、常用库函数和开发工具的使用方法是备考的重点。
可以通过编写小程序、参与开源项目等方式来提高自己的编程水平。
三、数据库数据库是软件设计师日常工作中经常使用的工具。
备考时,需要掌握数据库的基本概念、常用操作和SQL语言的使用。
可以通过实际操作数据库、编写SQL语句来巩固自己的数据库知识。
此外,还可以学习一些数据库管理系统的原理和优化技巧,提高自己的数据库设计和优化能力。
四、系统架构系统架构是软件设计师考试中的重要内容。
备考时,需要了解常见的系统架构模式,如三层架构、微服务架构等,以及它们的特点和适用场景。
还需要掌握一些常用的设计模式,如单例模式、工厂模式等,以及它们在实际项目中的应用。
可以通过学习相关书籍和参与实际项目来提高自己的系统设计能力。
五、软件测试软件测试是软件设计师不可或缺的一环。
备考时,需要了解软件测试的基本概念、测试方法和常用工具。
可以通过阅读相关书籍和参与测试项目来提高自己的测试技能。
此外,还可以学习一些自动化测试的方法和工具,提高自己的测试效率。
六、项目管理项目管理是软件设计师职业发展中必备的技能。
软考软件设计师知识点

软考软件设计师知识点软考(软件设计师考试)作为国内软件行业的重要认证考试之一,对于软件设计师的专业知识和技能有着严格的要求。
本文将系统地介绍软考软件设计师考试的重要知识点,帮助考生有效备考。
一、计算机基础知识1. 计算机组成与结构在软件设计师考试中,了解计算机的组成和结构是必不可少的。
对于计算机硬件、操作系统、数据库等方面的基本原理和架构,需做到心中有数。
2. 数据结构与算法数据结构与算法是软件设计师考试中的重中之重。
要掌握各种基本数据结构的特点和操作方式,熟悉常用算法的设计思想和实现方法,能够灵活运用于实际问题的解决。
3. 编程语言与开发工具软件设计师需要熟悉多种编程语言和开发工具,如Java、C++、Python等,掌握其语法与特性,并了解各类开发工具的使用方法,能够根据实际需求进行选用和配置。
二、软件需求与规格说明1. 需求分析与设计在软件设计师考试中,需了解软件需求分析的基本方法与技巧,掌握需求获取、需求分析和需求规格说明的过程和要求。
同时,要熟练运用建模工具(如UML)进行需求分析与设计。
2. 软件规格说明书软件设计师需要具备编写软件规格说明书的能力。
规格说明书体现了软件的设计思路和实现要求,对于开发团队的沟通和协作具有重要作用。
考生需要了解规格说明书的结构和要素,学会规范编写。
三、软件设计与实现1. 软件架构与设计模式软件的架构设计是软件设计师的核心能力之一。
需要深入了解常见的软件架构模式(如MVC、MVVM等),并能够根据实际需求选择和设计合适的软件架构。
2. 接口设计与开发软件设计师需具备熟练的接口设计和开发能力。
了解面向对象设计思想和设计原则,掌握接口设计的方法和标准,能够设计和实现稳定、高效的接口。
3. 数据库设计与优化数据库设计与优化是软件设计师需要重点关注的领域。
要了解关系数据库的基本原理和常用操作,熟悉数据库设计的规范和方法,能够进行数据库性能优化和调优。
四、软件测试与质量保证1. 软件测试方法与技术软件测试在软件开发生命周期中占据重要地位。
软件设计师基础知识

软件设计师基础知识软件设计师是指负责软件系统的设计与开发的专业人员。
他们需要具备扎实的计算机基础知识、软件工程理论知识、编程技术和系统设计能力。
以下是软件设计师基础知识的相关参考内容。
1. 计算机基础知识- 计算机的基本原理:掌握计算机的工作原理、数据存储原理和运算原理等基本概念。
- 操作系统:了解不同操作系统的特点和使用方法,如Windows、Linux等。
- 网络原理:了解网络协议、网络拓扑结构、网络安全等知识,能够进行网络编程和网络配置。
- 数据结构与算法:掌握常见的数据结构和算法,能够进行数据存储与处理。
2. 软件工程理论知识- 软件工程基本概念:了解软件生命周期、需求分析、设计、编码、测试、维护等软件开发流程。
- 面向对象编程:掌握面向对象的思想和相关的编程语言,如Java、C++等。
- 软件测试与质量保证:了解软件测试的方法和工具,掌握软件质量保证的理念,能够进行软件测试和质量评估。
- 配置管理与版本控制:了解配置管理的概念和方法,熟悉版本控制工具的使用,如Git、SVN等。
3. 编程技术- 编程语言:掌握至少一种编程语言,如Java、C++、Python 等,具备良好的编码风格和编程习惯。
- 数据库:熟悉关系数据库的设计和操作,掌握SQL语言以及常用的数据库管理系统,如MySQL、Oracle等。
- 前端开发:了解HTML、CSS、JavaScript等前端开发技术,掌握常见的前端框架和工具。
- 后端开发:了解常见的后端开发框架和技术,如Spring、Django等,能够进行Web应用的开发和部署。
4. 系统设计能力- 软件架构与设计模式:掌握常见的软件架构和设计模式,如MVC、单例模式、观察者模式等,能够进行系统架构设计。
- 需求分析与设计:具备需求分析和系统设计的能力,能够将需求转化为可实现的系统设计方案。
- 性能优化与调试:了解常见的性能优化方法和调试工具,能够排查和解决系统性能问题。
软考计算机基础知识

软考(计算机技术与软件专业技术资格(水平)考试)涉及广泛的计算机基础知识,以下是一些主要的考点:
1. 计算机系统基础知识:包括计算机硬件系统的组成和功能,如CPU、内存、硬盘、输入输出设备等;计算机软件系统的组成和功能,如操作系统、数据库管理系统、网络软件等。
2. 数据结构与算法:包括线性表、树、图等基本数据结构,以及排序、查找等常见算法。
3. 操作系统知识:包括操作系统的基本概念、功能、分类以及常见操作系统的特点和使用方法。
4. 数据库知识:包括数据库的基本概念、数据模型、数据库设计和管理等方面的知识。
5. 网络知识:包括计算机网络的基本概念、分类、拓扑结构以及网络协议等。
6. 软件工程知识:包括软件生命周期、软件开发模型、软件测试方法以及软件质量管理等方面的知识。
7. 信息安全知识:包括信息安全的基本概念、加密技术、防火墙技术、入侵检测技术等。
8. 多媒体技术知识:包括音频、视频、图像处理等多媒体技术的基本概念和应用。
此外,软考还涉及一些与计算机相关的法律法规和标准化知识,如知识产权、计算机软件保护条例、标准化基础知识等。
在备考软考时,建议考生根据考试大纲的要求,系统学习相关知识点,并结合实际案例进行练习,以提高自己的应试能力。
同时,也可以参加一些培训课程或模拟考试,以检验自己的学习成果和应试水平。
请注意,以上只是软考涉及的一些主要计算机基础知识考点,具体考试内容和要求可能会因考试科目和级别的不同而有所差异。
因此,在备考时,建议考生仔细阅读相关科目的考试大纲和要求,以确保自己能够全面、准确地掌握所需的知识点和技能。
软件设计师必背知识点

软件设计师必背知识点一、计算机组成与体系结构。
1. 数据的表示。
- 进制转换:- 二进制、八进制、十进制、十六进制之间的相互转换。
例如,十进制转二进制可以采用除2取余法,将十进制数不断除以2,取余数,直到商为0,然后将余数从右到左排列得到二进制数。
- 二进制数的运算,包括算术运算(加、减、乘、除)和逻辑运算(与、或、非、异或)。
- 原码、反码、补码:- 原码:最高位为符号位,0表示正数,1表示负数,其余位表示数值的绝对值。
- 反码:正数的反码与原码相同,负数的反码是在原码的基础上,符号位不变,其余位取反。
- 补码:正数的补码与原码相同,负数的补码是其反码加1。
计算机中通常采用补码来表示和运算数据,因为补码可以简化减法运算,将减法转换为加法。
2. 计算机的基本组成。
- 冯·诺依曼结构:由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
- 运算器:进行算术和逻辑运算的部件,如加法器、乘法器等。
- 控制器:指挥计算机各部件协调工作的部件,它从存储器中取出指令,分析指令并产生相应的控制信号,控制计算机各部件执行指令。
- 存储器:用于存储程序和数据。
分为内存储器(主存)和外存储器(辅存)。
内存储器包括随机存取存储器(RAM)和只读存储器(ROM)。
RAM是可读可写的存储器,断电后数据丢失;ROM是只读存储器,断电后数据不丢失,常用于存储BIOS等基本系统程序。
- 输入设备:如键盘、鼠标等,用于向计算机输入数据和指令。
- 输出设备:如显示器、打印机等,用于将计算机处理的结果输出。
3. 指令系统。
- 指令的格式:一般包括操作码和操作数两部分。
操作码表示指令要执行的操作,操作数表示操作的对象。
- 指令的寻址方式:- 立即寻址:操作数直接包含在指令中。
- 直接寻址:操作数的地址直接包含在指令中。
- 间接寻址:指令中给出的是操作数地址的地址。
- 寄存器寻址:操作数存放在寄存器中,指令中给出寄存器编号。
(软考软件设计师)专题一:计算机系统知识

专题一:计算机系统知识1、计算机硬件基础知识:1.1计算机系统结构计算机的发展历史:1946年,世界上第一台电子计算机ENIAC出现,之后经历了5个发展阶段:冯式结构计算机的组成部分:存储器、运算器、控制器、输入设备和输出设备。
强化的概念:计算机的工作过程:一般是由用户使用各种编程语言把所需要完成的任务以程序的形式提交给计算机,然后翻译成计算机能直接执行的机器语言程序,在计算机上运行。
计算机系统可以由下面的模型表示:计算机系统结构(computer architecture):指机器语言级机器(物理机器)的系统结构,它主要研究软件、硬件功能分配,确定软件、硬件界面(机器级界面),即从机器语言程序员或编译程序设计者的角度所看到的机器物理系统的抽象。
计算机组成(computer organization):是指计算机系统的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等,其目标是合理的把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。
计算机实现(computer implementation)是指计算机组成的物理实现。
这几个概念之间的关系可以用下面的图加以说明:计算机系统的分类:Flynn分类、冯氏分类、Handler分类和Kuck分类;Flynn分类:根据不同指令流—数据流组织方式把计算机系统分成4类。
(重点理解)指令流:机器指令的执行序列;数据流:由指令流调用的数据序列,包括输入数据和中间结果;多倍性:在系统性能的瓶颈部件上同时处于同样执行阶段的指令和数据的最大可能个数;I. 单指令流单数据流SISD——如单处理机II. 单指令流多数据流SIMD——如相联处理机III. 多指令流单数据流MISD——如流水线计算机IV. 多指令流多数据流MIMD——如多处理机冯氏分类:以最大并行度Pm把计算机系统结构分为4类,其中字宽W表示在一个字中同时处理的二进制位数,位宽B表示在一个位片中能同时处理的字数。
软件设计师考试复习辅导材料

考试题型:可分为填空题、选择题、计算题、问答题和分析题等。
第一章计算机系统概论本章的学习目的:初步了解计算机系统的组成和计算机的工作过程,掌握常用的概念、名词术语。
本章要掌握的主要内容:1.冯._努依曼计算机的设计思想是存储程序和程序控制。
存储程序的概念是将解题程序(连同必须的原始数据)预先存入存储器,程序控制是指控制器依据存储的程序控制全机自动、协调地完成解题任务。
以上统称为存储程序控制。
2.计算机系统按功能划分的多级层次结构。
3.机器功能的软硬件划分取决于价格、速度、可靠性、存储容量和变更周期等。
4.软件和硬件在逻辑功能上是等效的。
合理分配软硬件的功能是计算机总体结构的重要内容。
5.固件是具有软件功能的硬件,它是介于传统软硬件之间的实体。
从功能上说类似于软件,就其形态说类似硬件。
第二章运算方法和运算器本章的学习目的:弄清数据与文字在计算机中的表示法,定点加、减、乘、除运算的算法,浮点数的表示法及运算方法,逻辑运算的实现,定、浮点运算器的组成及工作原理。
本章要掌握的主要内容:1.数值数据在计算机中有定点和浮点表示的两种数据格式。
2.定点表示的表数范围、精度及其特点。
3.浮点表示这一部分的内容是一个难点,应真正弄懂。
(1).浮点数的构成:N=R E×M_(2).规格化浮点数是尾数的最高位为非零数值的浮点数。
≤|M|<1 (R=2)规格化数能保留最多的有效数字,避免丢失运算的精度。
例:某运算结果N=20001×,限定的尾数为8位,可得N1=20001×或N2=2-0110×,这二个数的精度不同,N2有8位数的精度,而N1只有1位数的精度。
N1是由N 舍去尾数的低8位得到的,N2则是由N规格化后得到的。
(3).如何实现规格化?当|M|≥1时,将尾数右移,每右移一位,阶码加1,称为向右规格化,简称为右规;当|M|<0.5时,将尾数左移,每左移一位,阶码减1,称为向左规格化,简称为左规。
软件设计师每章考纲

第一章计算机系统知识1. 数值及其转换二进制、十进制和十六进制等常用数制及其相互转换2. 计算机内数据的表示●数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)●非数值表示(字符和汉字表示、声音表示、图像表示)、校验方法和校验码3. 算术运算和逻辑运算●计算机中的二进制数运算方法●逻辑代数的基本运算4. 其他数学基础知识5. 计算机系统的组成、体系结构的分类及特性●CPU和存储器的组成、性能和基本工作原理●常用I/O设备、通信设备的性能以及基本工作原理●I/O接口的功能、类型和特性●CISC/RISC、流水线操作、多处理机、并行处理6. 存储系统●虚拟存储器的基本工作原理、多级存储体系●RAID的类型和特性7. 可靠性与系统性能评测的基础知识●诊断和容错●系统可靠性分析评价●计算机系统性能评测方式2013下半年上午1~6 6分Cache主存的地址映像、指令寄存器、逻辑运算、吞吐率、RISC特点、寻址范围2013上半年上午1~6 6分存储器构成、中断向量、多级中断嵌套、DMA工作方式、内存容量2012下半年上午1~6 6分CPU的部件、校验码、数的表示、存储器分类、CPU与外设的交换方式、系统总线组成2012上半年上午1~6 6分CPU对Cache的访问、存储单元、相联存储器、寻址方式、指令的执行过程命题特点纵观历次试卷,本章知识点是以选择题的形式出现在试卷中。
在历次考试上午试卷中,所考查的题量大约为6道选择题,所占分值为6分(约占试卷总分值75分中的8%)。
本章试题主要考蠢考生是否掌握了相关的理论知识,难度中等。
第二章程序语言基础知识●汇编、编译、解释系统的基础知识和基本工作原理●程序设计语言的基本成分(数据、运算、控制和传输),程序调用的实现机制●各类程序设计语言的主要特点和适用情况2013下半年上午20~22、48~50 6分参数传递、文法、后缀式、中间代码、有穷自动机、弱类型语言2013上半年上午20~22、48~50 6分编译和解释程序、传值调用与引用调用、编译过程、正规表达式、声明语句与可执行语句2012下半年上午20~22、48~50 6分程序语言、正规式、后缀式、编译程序功能、中间代码、程序2012上半年上午20~22、48~50 6分逻辑表达式、存储方式、后缀式、有限自动机、参数传递、编译与解释命题特点纵观历次试卷,本章知识点是以选择题的形式出现在试卷中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专题一:计算机系统知识1、计算机硬件基础知识:1.1计算机系统结构计算机的发展历史:1946年,世界上第一台电子计算机ENIAC出现,之后经历了5个发展阶段:冯式结构计算机的组成部分:存储器、运算器、控制器、输入设备和输出设备。
强化的概念:计算机的工作过程:一般是由用户使用各种编程语言把所需要完成的任务以程序的形式提交给计算机,然后翻译成计算机能直接执行的机器语言程序,在计算机上运行。
计算机系统可以由下面的模型表示:计算机系统结构(computer architecture):指机器语言级机器(物理机器)的系统结构,它主要研究软件、硬件功能分配,确定软件、硬件界面(机器级界面),即从机器语言程序员或编译程序设计者的角度所看到的机器物理系统的抽象。
计算机组成(computer organization):是指计算机系统的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等,其目标是合理的把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。
计算机实现(computer implementation)是指计算机组成的物理实现。
这几个概念之间的关系可以用下面的图加以说明:计算机系统的分类:Flynn分类、冯氏分类、Handler分类和Kuck分类;Flynn分类:根据不同指令流—数据流组织方式把计算机系统分成4类。
(重点理解)指令流:机器指令的执行序列;数据流:由指令流调用的数据序列,包括输入数据和中间结果;多倍性:在系统性能的瓶颈部件上同时处于同样执行阶段的指令和数据的最大可能个数;I. 单指令流单数据流SISD——如单处理机II. 单指令流多数据流SIMD——如相联处理机III. 多指令流单数据流MISD——如流水线计算机IV. 多指令流多数据流MIMD——如多处理机冯氏分类:以最大并行度Pm把计算机系统结构分为4类,其中字宽W表示在一个字中同时处理的二进制位数,位宽B表示在一个位片中能同时处理的字数。
I. 字串位串WSBS(serial)(parallel)II. 字并位串WPBSIII. 字串位并WSBPIV. 字并位并WPBPHandler分类:根据并行度和流水线处理的程度将计算机系统结构分成3个层次I. 程序控制部件PCU的个数KII. 算术逻辑部件ALU或处理部件PE的个数DIII. 每个算术逻辑部件包含基本逻辑线路ELC的套数WKuck分类:与Flynn分类法类似,根据指令流、执行流和多倍性来分类。
I. 单指令流单执行流SISE——典型的单处理机II. 单指令流多执行流SIME——带多操作部件的处理机III. 多指令流单执行流MISE——带指令级多道程序的单处理机IV.多指令流多执行流MIME——多处理机计算机不同级别程序员所见的计算机部分,透明性的概念:透明性:一种实际存在的事物或属性,从某个角度看似乎不存在的现象。
低层机器级的概念结构和功能特性对于高级语言的程序员来说是透明的。
1.2 计算机中的编码:(1)二进制、十进制和十六进制等常用数制及其相互转换:由于计算机的存储器和寄存器是两态部件,所以各种信息在计算机中是以二进制的方式存储和计算的。
数制是由基数和基数个不同的数码组成的。
BCD码:十进制的二进制表示,0:0000 1:0001 2:0010 3:0011 4:0100 5:01016:0110 7:0111 8:1000 9:1001十进制的202可以表示成BCD码为0010 0000 0010;十六进制 <-> 二进制:十六进制表示法是用16位二进制数字组成的,每4位二进制数字表示一位十六进制数,十六进制的数字表示从0-9,A,B,C,D,E,F共十六个字符.十六进制与二进制相互转换就是一位十六进制字符与四位二进制数字的相互转换过程.十进制<-> 二进制:十进制向二进制转换分两步进行:首先把该数的整数部分和小数部分转换为二进制数;然后再把这两部分合并起来即可.十进制的整数部分向二进制转换是通过对十进制不断的除2取余数得到,十进制小数部分通过乘2取整的方法获得,直到小数部分为0,所得到的整数部分就形成了二进制编码;同样的,二进制向十进制转换如下所示:十进制数N=(R n R n-1...R1R0R-1...R-m)= R n *2n+R n-1*2n-1+...+R1*2+R0+R-1*2-1...R-m*2-m八进制 <-> 二进制:二进制向八进制转换的方法是从小数点开始分别向左右每3位二进制数编成一组,若不够3位 ,则小数点左侧的最高位和右侧的最低位用0补充,每一组用对应的八进制的数码表示即可;八进制向二进制转换的方法是从小数点开始,把每一位八进制的数码转换成对应的3位二进制即可.其小数点左侧的最高位或右侧的最低位的0可以省去.⑵计算机中的二进制数运算方法:1.定点数运算:要判断是否溢出?()加法:[X+Y]=([X]补+[Y]补) MOD 2减法:[X-Y]=([X]补+[-Y]补)MOD 2乘法:采用原码比较方便,使用原码一位乘法来求两个定点数的乘积。
运算规则为:⏹乘积的符号位等于乘数和被乘数的符号位进异或;⏹乘积的值等于两数绝对值之积,即乘数和被乘数的绝对值进行移位相加;除法:采用原码比较方便。
运算规则为:商的符号位同定点数原码乘法的处理方法,由两数的符号位进行异或两数的绝对值部分进行相除。
2.浮点运算1) 加减法:a) 对阶b) 尾数进行加、减运算c) 规格化d) 舍入e) 溢出判断2) 乘除法:浮点相乘,其积的阶码为两数阶码相加,积的尾数为两尾数相乘。
浮点数相除,其商的阶码为两数阶码之差,商的尾数为两尾数相除。
其结果都需要进行规格化处理,同时还需要进行溢出判断。
⑶逻辑代数的基本运算和逻辑表达式的化简:逻辑表达式就是以逻辑运算符把若干逻辑变量连接在一起表示某种关系的表达式。
一个逻辑函数往往有多种不同的表达式。
可以利用其本逻辑运算规律和一些常用的逻辑恒等式对逻辑表达式进行合并项、吸收项、配项、消去项等操作来化简。
基本的逻辑运算有“与”、“或”、“非”、“异或”。
常用的逻辑运算公式:交换律:A+B=B+A A*B=B*A结合律:A+(B+C)=(A+B)+C分配律:A*(B+C)=A*B+A*C A+(B*C)=(A+B)*(A+C)反演律:A+B= A * B重叠律:A+A=A A*A=A互补律:A+ A =1 A* A =0对合律: A =A0-1律:0+A=A A*A=0⑷定点数与浮点数的机内表示:定点数的表示方法:1.定点整数:(符号位)(最高数据位)。
(最低数据位)2.定点小数:(符号位)小数点(最高数据位)。
(最低数据位)浮点数表示方法:浮点数编码:符号位-阶码-尾数,阶码由移码表示,尾数由补码或原码表示;规格化处理:以纯小数表示尾数,分为原码和补码;⑸原码、补码、反码、移码;数值数据的机器内表示形式称为机器码,机器码所代表的数值为该机器码的真值。
原码表示:[X]=X或2n-1-X;+0和-0的表示不同;(定点整数)[X]=X或1-X;(定点小数)+0=00000000 -0=10000000 (2的n次方-1个编码)补码表示:[X]=X或2n+X;(定点整数)[X]=X或2+X;(定点小数)0的编码唯一;00000000 (2的n次方个编码)-1=10000000 (小数) -1=11111111(整数)反码表示:[X]=X或(2n-1)+X;(定点整数)[X]=X或(2-2-n+1)+X (定点小数)+0=00000000 -0=11111111 (2的n次方-1个编码)移码表示:[X]=X或2的(n-1)次方+X;0表示方法唯一10000000 (定点整数)[X]=1+X;(定点小数)0的编码唯一:10000000 (2的n次方个编码)⑹ ASCII码及汉字编码等常用的编码:ASCII码采用7bit编码,共有128种编码;表示128个不同的字符;计算机里存储和传送单位通常使用Byte,所以7位的ASCII码也用一个字节来表示,最高一位没有用,通常也添0,也可以把它作为校验位或用来扩展字符集。
EBCDIC码采用8bit编码,共有256个编码,表示256个不同字符;汉字编码:1.数字编码:每个汉字分配一个数字码,用以代表汉字;2.拼音码:用每个汉字的汉语拼音符号作为汉字的输入编码;3.字形码:以汉字的形状特点编码,例如五笔字型编码汉字存储:以内码形式存放,以连续两个字节表示,两个字节的最高位均为1,汉字的内码是在计算机内处理汉字信息时采用的机内代码,把汉字的输入编码称为外码。
汉字输出:汉字的点阵字型码,点阵的密度决定了汉字的美观程度,汉字需要大量的存储空间,例如16*16点阵,每个汉字要占用16*16=32Byte(7) 数据校验码:计算机在存储和传送数据过程中,为了保证数据的准确性,一般都要进行数据校验和纠错。
通常使用校验码的方法来检测数据是否出错。
其基本思想是把数据可能出现的编码区分为合法编码和错误编码。
使用校验码来查错,涉及到一个重要概念——码距。
它是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。
码距为1的编码是不能发现错误的。
常用的校验码有3种。
▲奇偶校验码:不能发现偶数位错误该编码通过增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验)从而使码距变为2,来检测数据代码中奇数出错的编码。
因为其利用的是编码中1的个数的奇偶性作为依据,所以不能发现偶数位错误。
校验位的添加方法有三种:⏹水平奇偶校验码:对每个数据的编码添加校验位⏹垂直奇偶校验码:对一组数据的相同位添加一个校验位;⏹水平垂直奇偶校验码:先对一组数据垂直校验,所得结果再添加一位水平校验位;▲海明校验码:也是利用奇偶性来检错和纠错,通过在数据之间插入k个校验位,扩大数据编码的码距,从而有能力检测出n位错,并能纠正1位或n位错。
▲循环校验码(CRC)校验码:采用模2运算,可检测所有等于、小于校验位长度的突发错,利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为n=k+rk,又称为(n,k)码,生成的多项式与被校验的数据无关。
概念:编码效率=(log2(码字数))/总位数:例题:在无线电通信中常采用7中取3定比码,它规定码字长为7位,并且其中总有且仅有3个“1”。
这种码的编码效率为;35=举一个例子:关于二进制的编码的考试题目根据“冗余校验”的思想,码距可用来判断使校验码制冗余的程度,并估价其查错、纠错能力。
“8421”码的码距为A,因而它B。
若一组海明(Hamming)码有效信息位k=4,校验位r=3,则其码距为C ,用它能够发现D位错,并可纠正E位错。