中级软件设计师复习手抄

来源:互联网 发布:贺知章和李白 编辑:程序博客网 时间:2024/05/16 18:21

1.计算机数据的表示:

   原码、反码、补码,新增移码(=补码符号位取反)。

2.规格化浮点数:

   为了充分利用尾数来表示更多的有效数字,即提高数据的表示精度,通常采用规格化浮点数。

规格化的浮点数以16位为例表示格式如下:


阶码(指数)

尾数(含尾符-真实值的符号)

 

规范化的浮点数尾数的最高数值位是有效数字位,想想科学计数法的构造,同理,规范化的浮点数表示为:2k ×尾数,求得的数值便是二进制的浮点数真实值。尾数作为有效数字,要求正数的尾数格式为 0.1XXXX,即正尾数0.5F1,负数的尾数格式原码为1.1XXXX,补码为1.0XXXX,即复尾数-1F-0.5。因此,在处理规范化的浮点数计算时,应当注意正负数的不同规范方式,至于纯数学计算的部分,使用二进制的左右平移即可简单运算。

 

3.汉字编码:

 

汉字的编码标准主要是有:汉字机内码、国标码、区位码。其中,

国标码:GB 2312-80规定,一个汉字用两个7位的字节表示。

区位码:区位码是用两个十进制数表示国标码的全部字符集在方阵中所在区(行)位(列)数,数值取值为01-94,通常将这两个数字进行16进制数转换再利用。

机内码:为使国标码(7位)与ASCII码不产生二义性,大部分的系统都将国标码的最高位(第8位)置1作为汉字的机内码。即在国标码的基础上加80H即可得到其相应的机内码值。

 

三者的转换计算:区位码的两个字节分别转为16进制后加20H即可得到对应的国标码;国标码的16进制码值加上80H可得到机内码值。故区位码转16进制数的两个字节分别加上A0H可得到对应的机内码值。

 

4. 奇偶校验:使得增加校验位之后的码字中1的总数总是为奇或者偶。

水平(并行)奇偶校验、垂直(串行)奇偶校验、水平垂直奇偶校验(增加冗余位对编码中1的数量进行描述)。能够检测出编码或校验码累计为奇数的错误,不能检测到累计为偶数的错误。偶数的错误不会改变奇偶校验位的值。

 

5. 海明校验码

海明码是利用奇偶性可以查错也可以纠错(1位有效)。使用k个校验位来检测N个数据位的错误,实际也需要检测校验码的错误,其中用一个位来表示数据无差错,其余位用以确定出错位置。因此k必须满足:N+k2k-1。利用它来判断对指定的数据进行海明校验所需的校验码位数。

海明码的校验位在海明码中下标为2k-1,其中任一位都是由若干位校验位来校验的。被校验的海明位下标等于所有参与校验该位的校验位的下标之和,即把被校验位的下标数值按2k分离,所得的数即包括参加校验的校验位下标。重新组合可以分类列出每个校验位所参与校验的其他位下标。

 

校验机制:

偶校验的校验位编码值为被校验的各个数据位的异或值,即使得被校验位+校验位的1的个数为奇为偶(偶0奇1),奇校验则取偶校验相反值。

 

检测错误时,偶校验计算各校验位分别与对应的数据位的异或值,若全为0,则数据正确;若有若干位不为0,则有对应的校验位参与(下标组合确认)校验的海明码位出错,取反即可纠错。奇校验无错则校验计算值全为1,取值0的位确认出错位。

 

5.循环冗余码CRC

广泛用于局域网的校验方法(局域网数据重传快)。循环冗余码,利用二进制数位串与只含0,1系数的多项式建立对应关系。传送K位信息位,最多对应于一个K-1阶多项式,K-1位冗余码(前补0)。传输方生成一个多项式G,需要传输的信息二进制为M(信息位后面补上冗余位-生成多项式最高阶个0),则传输时传输M以及M/G=Q……R,这里使用模2除法。将M与余数多项式R一起发送,接收方校验时,只需要满足M-R/G……0余数为零即可确保传输无误。当接收方发现传输错误,采取自动请求重传。CRC纠错能力很强,可检测出小于等于校验位数的错误。实现又简单,实际使用都采用硬件实现。

 

6.BCD码

BCD码属于有权码,常用的8421权值。4位的二进制数可表示一个0-9的十进制数(二进制十进制编码)。压缩的BCD码使用一个字节表示两位十进制数,使用4位的二进制编码,10001001B表示为89;非压缩的BCD码使用一个字节表示一个十进制位数,使用8位的二进制,高位置0,89表示为00001000 00001001B。

 

无权码较多使用的有余三码,从0011开始;格雷码,相邻代码只一个位之差。

 

7.汉字点阵 位/字节的转化

8.ASCII 字符集 A=64 a=97;高位奇偶校验,ASCII只7位。

9.码距 在编码系统中,任两个二进制编码不同的位的数目叫做这个编码的码距,其中最小的码距就是系统的码距。需要检测出N位错误发生,必然需要N+1的最小码距将错码与正确码进行区别。

原创粉丝点击