计算机组成原理习题及答案 下载本文

第一章

1.2.1填空题

1.第一代计算机的逻辑器件,采用的是();第二代计算机的逻辑器件,采用的是();第三代计算机的逻辑器件,采用的是();第四代计算机的逻辑器件采用的是()。

答案:①电子管 ②晶体管③中小规模集成电路④大规模,超大规模集成电路

2.计算机系统由()系统和()系统构成。 答案:①硬件 ②软件

3.用二进制代码表示的计算机语言称为(),用助记符编写的语言称为()。

答案:机器语言 汇编语言

4.计算机系统的三个层次结构由内到外分别是(),系统软件,() 答案:硬件系统 软件系统

5.()与()。输入/输出接口和系统总线合称为主机。 答案:CPU 存储器

6.用高级语言编写的程序称为()程序,经编译程序或解释程序翻译后成为()程序。

答案:源 目标(机器语言)

7.将源程序翻译为目标程序(机器语言)的软件是()和() 答案:编译程序 解释程序

8.程序设计语言一般可分为三类:(),(),()。

答案:机器语言 汇编语言 高级语言

9.解释程序是边解释边执行,不会生成() 答案:目标程序 10.编译方式是使用编译程序把源程序编译成机器代码的(),并以()的形式保留。

答案:目标程序 文件

11:计算机软件一般分为两大类:一类叫做(),另一类叫做(),操作系统属于()类。

答案:系统软件 应用软件 系统软件 12.计算机的工作特点是(),(),()和()。 答案;快速性 通用性 准确性 逻辑性

13.计算机系统的层次结构中,位于硬件系统之外的所有层次统称为()。答案:虚拟机

14.现在主要采用()结构作为计算机硬件之间的连接方式。 答案:总线

15.计算机的硬件系统包括(),(),(),输入/输出设备。 答案:运算器 存储器 控制器

16.在计算机术语中,将运算器,存储器,高速缓冲存储器合在一起,称为(),而将(),存储器,输入/输出接口和系统总线合在一起,称为()。

答案;CPU CPU 主机

17.存储(),并按()顺序执行,这是()型计算机的工作原理。

答案:程序 地址 冯·诺伊曼

18.在图1.1中填入计算机硬件系统基本组成部件的名称:

CPU

D C E A B

分析:B控制每个部件,所以B是控制器;运算器和控制器组成CPU,所以A是运算器;D只有输入的数据通路,所以D是输入设备;E只有输出的数据通路,所以E是输出设备;计算机由运算器,控制器,存储器,输入设备和输出设备组成,所以C是存储器。

答案:A-运算器 B-控制器 C-存储器 D-输入设备 E-输出设备

19.计算机中有()在流动;一股是(),即操作指令,其发源地是(),它分散流向各个部件;另一股是(),它受()的控制,从一个部件流向另一个部件,边流动边加工处理。

答案:两股信息 控制信息 控制器 数据信息 控制信息 20.计算机系统是一个由硬件,软件组成的多级层次结构。他通常由(),(),(),汇编语言级,高级语言级组成。在每一级上都能进行()。

答案:微程序级 一般机器级 操作系统级 程序设计 21.以80386微处理器为CPU的微型机是()位的微计算机;486微机是()位的微计算机。 答案:32 32

22.()标准用于静态图像压缩;()标准用于运动视屏图像压缩。答案:JPEG MPEG

23.今有文本,音频,视频,图形,和图像5种媒体,按处理复杂程度从简单到复杂排序为()。 答案:文本 图形 图像 音频 视频 1.2.2选择题

1.电子计算机技术在半个世纪中虽然有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。他就是(D) A牛顿 B爱因斯坦 C爱迪生 D冯·诺伊曼 2. 冯·诺伊曼机工作方式的基本特点是(B) A多指令流单数据流 B按地址访问并顺序执行指令 C堆栈操作 D存储器按内容选择地址

3.至今为止,计算机中的所有信息仍以二进制的方式表示,其理由是(C)。

A节约元件 B运算速度快 C物理器件性能决定 D信息处理方便 4.操作系统最先出现在(C)

A第一代计算机B第二代计算机C第三代计算机D第四代计算机 5.目前我们所说的个人商用计算机属于(D)

A巨型机 B中型机 C小型机 D微型机

6.50多年来,计算机在提高速度,增加功能,缩小体积,降低成本及开拓应用等方面不断发展。下面是关于计算机近期发展趋势的看法:①计算机的体积更小甚至可以像纽扣一样大小②计算机的速度更快,每秒可以完成几十亿次基本运算③计算机的智能越来越高,它将不仅能听能说,而且能取代人脑进行思考④计算机的价格会越来越便宜;其中可能性不大的是(B) A①和② B③ C①和③ D④

7.对计算机软硬件资源管理,是(A)的功能。

A操作系统 B数据库管理系统 C语言处理程序 D用户程序 8.CPU的组成不包括(A)

A存储器 B寄存器 C控制器 D运算器 9.主机中能对指令进行译码的部件是(C) A.ALU B运算器 C控制器 D存储器

10.为了防止已存有信息的软盘被病毒感染,应采取的措施是(B) A不要把它与有病毒的软盘放在一起 C保护它的清洁 B把它加上写保护后再放入计算机内使用 D定期对它做格式化 11.微型计算机的发展以(B)技术为标志。 A操作系统 B微处理器 C硬盘 D软件

12.邮局对信件进行自动分拣,使用的计算机技术是(D) A机器翻译 B自然语言理解 C机器证明 D模式别识 13.电子邮件是指(B)

A用计算机管理邮政信件 B通过计算机网络收发信息 C用计算机管理电话系统 D用计算机处理收发报业务

14.微型计算机的工作环境要求室温一般为15~35℃,室温过低容易造成(A)

A软盘读写出错 B静电干扰 C机内元器件受潮变质 D散热不好,烧毁电源

15.下列关于微处理器的描述中,哪个是正确的?(D)

A微处理器就是一台微机B微处理器就是微机系统C微处理器就是主机D微处理器可以用作微机的CPU

16.下面四个叙述中,只有一个是正确的,它是(C) A系统软件就是买的软件,应用软件就是自己编写的软件 B外存上的信息可以直接进入CPU被处理

C用机器语言编写的程序可以由计算机直接执行,用高级语言编写的程序必须经过编译(解释)才能执行

D说一台计算机配置了FORTRAN语言,就是说它一开机就可以用FORTRAN语言

17.从供选择的选项中,选出正确答案填空。

(1)人类接受的信息主要来自()。多媒体技术是集()、图形、()、()和()于一体的信息处理技术。

供选择的选项:听觉;嗅觉;文字;图像;音频;图书;视频;视觉 (2)在连续播放图像时,()所需的内存容量比()的存储容量大。将一幅图像信息存入存储器之前要进行(),在播放时,从存储器取

出信息后要先进行(),然后才能播放。为了更快进行压缩可采用()。 供选择的选项:图像;声音;RISC;DSP;压缩;还原(解压) 答案:(1)视觉,文字,图像,音频,视频 (2)图像,声音,压缩,还原(解压),DSP 1.2.3判断题

1.在微型计算机广阔的应用领域中,会计电算化属于科学技术方面的应用。

答案:错。会计电算化属于计算机数据方面的应用。

2.兼容性是计算机的一个重要性能,通常是指向上兼容,即旧型号计算机的软件可以不加修改地在新型号计算机上运行。系统机通常具有这种兼容性。

答案:错。兼容性包括数据和文件的兼容、程序兼容、系统兼容和设备兼容,微型计算机通常会有这种兼容性。

3.决定计算机计算精度的主要技术指标是计算机长度。 答案:对。 4.计算机“运算速度”指标的含义是指每秒钟能执行多少条操作系统的命令。

答案:错。“运算速度”指标的含义是指每秒钟能执行多少条指令。 5.利用大规模集成电路技术把计算机的运算部件和控制部件做在一块集成电路芯片上,这样的一块芯片叫做单片机。

答案:错。计算机的运算部件和控制部件做在一块集成电路芯片上,这样的一块芯片叫做CPU。 1.2.4简答题

1.按照冯·诺依曼原理,现代计算计应具备那些功能? 答:按照冯·诺依曼原理,计算机必须具有如下功能:

(1) 输入/输出功能。计算机必须有能力把原始数据和解题步骤接收

下来(输入),把计算结果与计算过程中出现的情况告诉(输出)给使用者。

(2) 记忆功能。计算机应能够“记住”原始数据和解题步骤以及解

题过程中的一些中间结果。

(3) 计算功能。计算机应能进行一些最基本的运算,这些基本运算

组成人们所需要的一些运算。

(4) 判断功能。计算机在进行一步操作后,应能从预先无法确定的

几种方案中选择一种操作方案。

(5) 自我控制能力。计算机应能保证程序执行的正确性和各部件之

间的协调性。

2. 冯·诺依曼计算机体系结构的基本思想是什么?按此思想设计的计算机硬件系统应由那些部件组成?它们各起什么作用?

答:冯·诺依曼计算机体系的基本思想是存储系统,也就是将用指令序列描述的解题程序与原始数据一起存储到计算机中。计算机只要一启动,就能自动地取出一条条指令并执行之,直至程序执行完毕,得到计算结果为止。

按此思想设计的计算机硬件系统包含运算器、控制器、存储器、输入设备和输出设备五个基本部件。 运行器用来进行数据变换和各种运算。

控制器则为计算机的工作提供统一的时钟,对程序中的各种基本操作进行时序分配,并发出相应的控制信号,驱动计算机的各种部件按节拍有序地完成规定的操作的内容。 存储器用来存放程序、数据及运算结果。

输入/输出设备接受用户提供的外部信息或用来向用户提供输出信息。

3.如何理解软硬件之间的等效性?

答:计算机的大部分功能即能由硬件完成,也能用软件完成,从逻辑上讲二者是等效的。通常用硬件实现时执行速度快、成本高、修改困难,而软件正好相反。二者之间没有固定的界线。 4.何谓绿色计算机?对它有哪些要求?

答:绿色计算机是指不会对人类及其生存环境造成不良影响的计算机。对它的主要要求是:

(1)要节能,主要指计算机本身的耗电量低。

(2)低污染。在生产、包装过程中尽量使用无毒、可再生材料,打印机噪声降到最小,电磁辐射要符合环保标准。

(3)易回收。生产、运输、使用等各过程所用的材料应容易销毁或回收。

(4)符合人体工程学,各种设备外形符合人体健康标准。

第二章

填空题

1. 8位二进制补码表示整数的最小值为(),最大值为()。

分析:若字长为n+1,则补码的表示范围为:-2≤x≤2-1,这里n=7.

答案:-128 127

2. 8位反码表示定点整数的最小值为(),最大值为()。 分析:若字长为n+1,则反码的表示范围为:-(2-1)≤x≤2-1,这里n=7。

答案:-127 +127

3.若移码的符号位为1,则该数为()数;若符号位为0,则为()数。

分析:移码的符号位与补码相反 答案:正 负

4.在原码、反码、补码中,()对0的表示有两种形式。 答案:原码和反码

5.若[X]补=1000,则X=()。 分析:这里字长为4,X=-2. 答案:-8

6.设机器字长为8位,-1的补码用定点整数表示时为(),用定点小数表示时为()。

答案:11111111 1.00000000

7.浮点数中尾数用补码表示时,其格式化特征是()。 答案:符号位与尾数最高为相反

8.一个定点数由()和()两部分组成。根据小数点的位置不同,

3

n

n

nn

定点数有()和()两种表示方法。

答案:符号位 数值域 纯小数 纯整数(顺序可变)

9.8位二进制补码所能表示的十进制整数范围是()至(),前者的二进制补码表示为(),后者的二进制补码表示为()。 答案:-2 +2-1 10000000 01111111

10.8位无符号定点整数,其二进制编码范围是从()至(),对应十进制真值为()至()。

答案:00000000 11111111 0 255

11.8位定点小数表示中,机器数10000000采用1位符号位,当它是原码形式、补码形式、反码形式时,其对应真值分别为()、()和()。

答案:-0 -128 -127

12.在数值的编码表示中,0有唯一表示的编码有();用0表示正,用1表示负的编码有();若真值大,则码值大的编码是();若真值越大,则码值越小的编码是();要求浮点数的机器0(尾数为0,阶最小)的编码为全0(阶为0,尾数为0),则尾数的编码可为(),阶的编码可为()。 13.码值80H:

若表示真值0,则为();若表示-128,则为(); 若表示-127,则为();若表示-0,则为()。

分析:真值0的移码为80H;真值-128的补码为80H;真值-127的反码为80H;真值-0的原码为80H。

7

7

答案:移码 补码 反码 原码 14.码值FFH:

若表示真值-127,则为();若表示-127,则为() 若表示-1,则为();若表示-0,则为()。

分析:真值127的移码为FFH;真值-127的原码为FFH;真值-1的补码为FFH;真值-0的反码为FFH。 答案:移码 原码 补码 反码

15.若浮点数格式中的基值(阶码的底)一定,且尾数采用规格化表示法,则浮点数的表示范围取决于()的位数,而精度取决于()的位数。

答案:阶码 尾数

16.当浮点数的尾数为补码时,其为规格化数应满足的条件为() 分析:当浮点数的尾数为补码时,规格化数应满足的条件是尾数最高位(m1)与尾符位(ms)取值一定不同,即ms?m1=1 答案: ms?m1=1

17.浮点数n=16,阶码4位,补码表示,尾数12位,补码表示,绝对值最小的负数是()。

分析:因为阶码4位,所以最小阶码为-8;因为尾数12位,所以规格化的绝对值最小尾数为-(2?1?2?11);非规格化的绝对值最小尾数为-2.

由于题中没有强调位数是否一定要规格化,所以答案有两个。 答案:-(2?1?2?11)×2(规格化的绝对值最小负数)

-8

-1

18.设阶码8位(最左一位为符号位),用移码表示,而尾数为24位(最左一位为符号位),用规格化补码表示,则它能表示的最大正数的阶码为(),尾数为(),而绝对值最小的负数阶码为(),尾数为()(以上答案均用二进制书写)。

答案:①11111111 ②0111 1111 1111 1111 1111 1111 ③00000000 ④1011 1111 1111 1111 1111 1111 19.二进制在计算机中常用的表示方法有原码、补码、反码和移码等多种。表示定点整数时,若要求数值0在计算机中唯一表示为全“0”,应采用();表示浮点数时,若要求机器零(即尾数为零,且阶码最小的数)在计算机中表示为全“0”,则阶码应采用()。某计算机中,浮点数的阶码占8位,尾数占40位(字长共48位),都采用补码,则该机器中所能表达的最大浮点数是()。 答案:补码 移码 2×(1-2)

20.汉字的()、()、()是计算机用于汉字输入、内部处理、输出三种不同途径的编码。

答案:输入编码(或输入码) 内码(或机内码) 字模码 21.根据国标规定,每个汉字内码用()表示。 答案:2个字节

127

-39

22.汉字输入时,将汉字能转换成计算机能够接受的汉字()码,它进入计算机后必须转换成汉字()码才能进行信息处理。

答案:输入 内

23.常见的汉字编码方案可以归纳为:()、()、()等。 答案:数字编码 拼音码 汉字字型码

24.为使汉字机内码与ASCII相区别,通常将汉字机内码的最高位置()。 答案:1

25.汉字的基本属性有()、()、()。 答案:字形、字义、字音

26.一个24×24点阵的汉字,需要()字节的存储空间。 答案:72

27.最小的区位码是(),其对应的交换码是()、内码是()、在外存字库的地址是()。

分析:最小的区位码是01区01位;

交换码又称国标码,而国标码(十六进制)=区位码(十六进制)+2020H,所以其对应的交换码是0101H+2020H=2121H。机内码(十六进制)=国标码(十六进制)+8080H,所以其对应的内码是2121H+8080H=A1A1H。在外存字库中是从文件头开始,所以其在外存字库的记录号是0。 答案:0101H 2121H A1A1H 0

28.已知某个汉字的国标码为3540H,其机内码为()H。 分析:机内码(十六进制)=国标码(十六进制)+8080H,该汉字的机内码=3540H+8080H=B5C0。 29.汉字库的类型有()和()两种。

答案:硬字库 软字库

30.GB1998代码的名称是()位二进制代码,其中有()种西文图形字符和()种控制字符。 答案:7 34 94

31.常用的校验码有()、()、()等。

答案:奇偶校验码 海明校验码 CRC码

32.奇偶校验法只能发现()数个错,不能检查无错或()数个错。

答案:奇 偶

33.设有7位信息码0110101,则低位增设偶校验位后的代码为(),而低位增设校验位后的代码为()。 答案:01101010 01101011

34.信息序列16位,若构成能纠正一位错发现错的海明码,至少需要加()检验位。

分析:16位有效信息,设r为校验位的位数,则整个码字的位数N应满足不等式:N=16+r≦2r -1 (r至少为5位) 若要求海明码能检测出2位错误,则再增加一位校验位。 答案:6位

35.CRC码又称为(),它具有()能力。 答案:循环冗余校验码 纠错

36.生成多项式G(X)=X4+X1+X0 对应的二进制编码为(),以此多项式进行CRC编码,其校验位的位数是()位。

答案:10011 4 2.2.2选择题

1.计算机中表示地址时使用() A无符号数 B原码 C反码 D补码 答案:A

2.当-1

3.字长为16位,用定点补码小数表示时,一个字所能表示的范围是()

A0~(1-2) B-(1-2)~(1-2)C-1~+1 D-1~(1-2) 分析:若字长为n+1.则定点补码小数的表示范围为:-1≤X≤1-2答案:D

4.某机器字长32位,其中1位符号位,31位尾数。若用定点整数补码表示,则最小正整数为();最大负数值为()。 A+1 B+2

31

-n

-15

-15

-15

-15

X

C-2 D-1

31

分析:若字长为n+1,用定点整数补码表示时:最小正整数为1; 最大负数值为-2,这里n=31。 答案:(1)A (2)C

5.字长12位,用定点补码规格化小数表示时:所能表示的正数范围是()。 A2

-12

-n

~(1-2

-12

) B2

-11

~(1-2

-11

) C1/2~(1-2)

-11

D(1/2+2)~(1-2)

分析:字长12位,定点补码规格化小数表示时,所能表示的最小正数是0.10000000000,即1/2;所能表示的最大正数是0.11111111111,即(1-2)。答案:C

6.在浮点数编码表示中()在机器数中不出现,是隐含的。 A阶码 B符号 C尾数 D基数 答案:D

7.浮点数的表示范围和精度取决于()

A阶码的位数和尾码的位数 B阶码采用的编码和尾数的位数 C阶码采用的编码和尾数采用的编码 D阶码的位数和尾数采用的编码 答案A

8.在规格化浮点表示中,保持其他方面不变,将阶码部分的移码表示为补码表示,将会使数的表示范围() A增大 B减少 C不变 D以上都不对 答案C

9.十进制数5单精度浮点数IEEE754代码为()

-11

-11-11

A01000000101000000000000000000000 B11000000101000000000000000000000 C011000000101000000000000000000000 D110000000101100000000000000000000 分析:5转换成二进制值为101.

在IEEE754中规格化表示为1.。1*2,e=127+2=129. IEEE754编码为:01000000101000000000000000000000 答案A

10.设浮点数的基数R=8,尾数用模4补码表示,则规格化的数为()

A11.111000 B00.000111 C11.101010 D11.111101 分析:以8为底时补码规格化后,

正数为0.(001、010、011、100、101、110、111)*?*的形式 负数为1.(110、101、100、011、010、001、000)*?*的形式 答案C

11.设[X]补=1.X1X2X3,仅当()时,X>-1/2成立。

2

AX1必须为1,X2X3至少有一个为1 BX1必须为1,X2X3任意 C X1必须为0,X2X3至少有一个为1 D X1必须为0,X2X3任意 分析

A X1为1,X2X3至少有一个为1,如[X]补=1.101,则X=-0.011,X=-(1/4+1/8),即X>-1/2成立;[X]补=1.110,则X=-0.010,X=-1/4,即X>-1/2成立;[X]补=1.111,则X=-0.001,X=-1/8,即X>-1/2成立。

B X1为1,X2X3任意时,如[X]补=1.100,则X=-0.100,X=-1/2,即X>-1/2不成立。

C X1为0,X2X3至少有一个为1,如[X]补=1.010,则X=-0.110,X=-(1/2+1/4),即X>-1/2不成立。

D X1为0,X2X3任意,如[X]补=1,000,则X=-1,即X>-1/2不成立。 答案A

12.ASCII码是对(①)进行编码的一种方案,它是(②)的缩写。

①A字符 B汉字 C图形符号 D声音

②A余3码 B十进制数的二进制编码 C格雷码 D美国标准信息交换代码 答案:①A ②D

13.32个汉字的机器内码需要()

A 16字节 B 32字节 C 64字节 D 8字节 14.能发现两位错误并能纠正一位错误的编码为() ACRC码 B海明码 C偶校验码 D奇校验码 答案B

15.二进制数1011.101对应的十进制数是()。十进制数1898的余3码是()。用N=S1S2B1B2?Bk表示一浮点数中的双符号位补码尾数(也称为变形补码,其中S1S2为双符号位),当()时,此尾数为规格化数。当运算结果尾数出现()时,需进行左归;而当运算结果尾数出现()时,表明尾数溢出时,则需要进行右规。 ①A9.3 B11.5 C11.629 D11.10

②A0001100110001100 B0100110010111100 C0001100110000110 D0000011111001000 ③④⑤:

AS1、S2、B1三者相同 B S1、S2相同而与B1不同 C S1与S2不同,且必须S2=B1 D S1与S2不同,而不论B1为何值 E S1与S2不同,但与B1相同 F S1与B1相同,而不论与S2为何值 答案:①C ②B ③B ④A ⑤D

16.在CRC校验中,接收端检查出某一位数据错后,纠正的方法是()

A请求重新发送 B删除数据 C通过余数的值由接收端自行纠正 D以上均可以 答案:D

17.在大量数据传送中常用且有效的校验法是() A海海明码校验 B偶校验 C奇校验 DCRC校验 答案:D

18.用1位奇偶校验能检测出1位存储器错误的百分比为() A0% B25% C50% D100% 答案:D

19.“常”字在计算机内的编码为B3A3H,由此可以推算它在GB2312-80国家标准中所在的区号是() A.19区 B51区 C3区 D35区 分析:机器码=国标码的两个字节各加80H 国标码=区位码的两个字节各加20H 所以,机内码=区位码的两个字节各加A0H

“常”字区号=B3H-A0H=13H,十进制为19 答案A

20.关于ASCII编码的正确描述是() A使用8位二进制代码,最右边一位为1 B使用8位二进制代码,最左边一位为0 C使用8位二进制代码,最右边一位为0 D使用8位二进制代码,最右边一位为1

分析:ASCII字符的编码是由7个二进制位表示,从0000000到1111111共128种编码。但由于字节是计算机中基本单位,ASCII码仍以一字节来存入一个ASCII字符。每个字节中多余的一位即最高位(最左边一位)在机内部保持为“0” 答案:B

21.GB2312-80国家标准中一级汉字位于16区至55区,二级汉字位于56区至87区。若某汉字的机内码(十六进制)位为DBA1,则该汉字是()。

A图形字符 B一级汉字 C二级汉字 D非法码

分析:该汉字的区号=DVH-A0H=3BH,十进制为59,所以该汉字属于二级汉字。 答案:C

22.下列关于我国汉字编码的诉述中,正确的是()。 A:GB2312国标字符集所包括的汉字许多情况下已不够使用 B:GB2312国标字符集既包括简体汉字也包括繁体字

C:GB2312国标码就是区位码

D:计算机中汉字内码的表示是唯一的。

分析:GB2312国标字符集是中国大陆地区所使用的编码方式,简体字,且从区号87至94还未定义;用户可根据实际情况自定义;汉字的区位码还不是它的国标码,每个汉字的区号与位号必须分别加上32(20H)之后,它的二进制代码才是它的“国标码”。 答案:D

23:下列关于汉字信息处理的叙述中,不正确的是()。 A:在ASCII键盘上输入一个汉字一般需击键多次

B:计算机内表示和储存汉字信息所使用的代码是GB2312编码 C:西文打印机也能打印输出汉字

D:机中必须安装了汉字库才能显示输出汉字

分析:中国大陆地区是使用GB2312编码,台湾地区使用的是BIG5编码。 答案:B 2.2.3判断题

1.所有进位计数制,其整数部分最低位的权都是1. 答案:对 2.某R进位计数制,其左边1位的权是其相临的右边一位的权的R倍。 答案:对

3.在计算机中,所表示的数有时会发生溢出,其根本原因是计算机的字长有限。 答案:对 4.8421码是二进制编码。

答案:错。 8421是十进制编码

5.浮点数通常采用规格化数来表示,规格化数即指其尾数的第一位应为0的浮点数。

答案:错。 原码规格化后,正数为0.1*?*的形式,负数为1.1*?*的形式。补码规格化后,正数为0.1*?*的形式,负数为1.0*?*的形式.

6.一个正数的补码和这个数的原码表示一样,而正数的反码就不是该数的原码表示,而是原码各位数取反。

答案;错。 一个正数的补码和反码均和这个数的原码表示一样。 7.表示定点数时,若要求数值0在计算机中唯一的表示为全0,应使用反码表示。

答案:错。标示定点数时,若要求数值0在计算机中唯一的表示为全0,应使用补码表示。

8.将补码的符号位改用多位来表示,就变成形补码,一个用双符号位表示的变形补码01.1010是正数。 答案:错。是一个正溢出数。

9.浮点数的取值范围由阶码的位数决定,而浮点数的精度由尾数的位数决定。答案:对

10.设有两个正的浮点数:N1=2m*M1,N2=2n*M2。 (1)若m>n,则有N1>N2。

(2)若M1和M2是规格化数,则有N1>N2。 答案:(1)错。若m>n.不一定有N1>N2。

(2)对。若M1和M2是规格化数,结论正确。

2.2.4解答题

1.试比较定点带符号数在计算机内的四种表示方法。

答:带符号数在计算机内的表示方法有原码、反码、补码、移码。原码表示方法简单易懂,乘除运算规则简单,但加、减运算的实现比较复杂。补码的特点是进行加减法运算规则简单,正负数的处理方法一致。反码通常用来计算补码,由于其运算不方便,在计算机中没有得到实际应用。移码由于保持了数据原有的大小顺序,便于进行操作,常用于表示浮点数中的阶码,方便浮点运算的操作。 2.设计补码表示的目的是什么?

答:设计补码表示法的目的是使符号位参与运算,从而简化加减法的规则,使减法运算转化为加法运算,从而简化机器的运算器电路。 3.试问采用什么样的机器数形式可用全0表示浮点数的机器0. 答:阶码用移码表示,尾数用原码或补码表示时,浮点数的机器零可以用全0来表示,这就是为什么浮点数的阶码常用移码来表示的原因。

4.试述浮点数规格化的目的、方法。

答案:浮点数的规格化是使浮点数的尾数的最高数值位为有效数位。当尾数用补码表示时,符号位与小数点后的第一位不相等则为已规格化数据,否则是非规格化数据。通过规格化,可以保证运算数据的精度。通常采用向左规格化,即尾数每左移1位,阶码减1,直至规格化完成。

5.在检错码中,奇偶校验法能否定位发生错误的信息位?是否具有纠错能力?

答:(1)奇偶校验法不能定位发生错误的信息位。 (2)奇偶校验法没有纠错能力。 6.简述CRC的纠错原理。

答:CRC码就是一种纠错能力较强的编码。在进行校验时,将CRC码多项式与生成多项式G(X)相除,若余数为0,则表明数据正确;党余数不为0时,说明数据有错。只要选择适当的生成多项式G(X),余数与CRC码出错位位置的对应关系是一定的,由此可以用余数作为判断出错位置的依据而纠正错误。 2.3.1定点数的表示

1.将表2.1(a)中的编码转化成十进制数值。

表2.1(a)题目

原码 0.1010 1.1111 1.1010 原码 0.1010 1.1111 1.1010 十进制 十进制 0.625 -0.9375 -0.625 反码 0,1010 1.1111 1.1010 反码 0.1010 1.1111 1.1010 十进制 十进制 0.625 0 -0.3125 补码 0.1010 1.1111 1.1010 补码 0.1010 1.1111 1.1010 十进制 十进制 0.625 -0.0625 -0.375 表2.1(b)的答案

2.下列代码若看做ASCII码、整数补码、8421码时分别代表什么? 77H 37H

解:77H看作ASCII码、整数码、8421码时分别代表字符‘w’、数

119、数77;

37H看作ASCII码、整数码、8421码时分别代表字符‘7’、数

55、数37.

3.字长为8位,分别求x=+1000(2)和x=-1000(2)的移码。

解:(1)x=+1000(2),则【x】补=00001000,【x】移=27+【x】补

=10000000+00001000=10001000

(2)x=-1000(2),则【x】补=11111000,【x】移=27+【x】补

=10000000+11111000=01111000

4.以下各数均无符号数,请比较它们的大小:

321FH和A521H 80H和32H 8000H和AF3BH 72H和31H 解:321FH32H 8000H31H 5.以下各数均为有符号数的补码,请比较它们的大小: 321FH和A521H 80H和32H 8000H和AF3BH 72H和31H 解:321FH>A521H 80H>32H 8000H31H

6.写出下列各数的原码、反码、补码、移码表示(用8位二进制数),

其中MSB是最高位(又是符号位),LSB是最低位,如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后;如果是正数,小数点在LSB之后。

① -35/64 ②23/128 ③-127 ④用小数表示-1

⑤ 用正数表示-1 ⑥用整数表示-128

解:-35/64和23/128均用定点小数表示,转化成二进制数可使计算

方法简便,如23/128=10111×2-7=0.0010111;-1在定点小数表示中原码和反码表示不出,但补码可以表示;-1在定点整数表示中是最大负数;-128在定点整数表示中原码和反码表示不出,但补码可以表示,下列各数的原码、反码、补码、移码表示见表2.2.

表2.2 各数的原码、反码、补码、移码表示

十进制数 二进制数真值 原码表示 反码表示 补码表示 移码表示 -35/64 -0.100011 1.1000110 1.0111001 1.0111010 0.0111010 23/128 0.0010111 0.0010111 0.0010111 0.0010111 1.0010111 -127 -1111111 11111111 10000000 10000001 00000001

用小数表示 -1.0 / / 1.0000000 0.0000000 用整数表示 -1 10000001 11111110 11111111 01111111

用整数表示-128 -10000000 / / 10000000 00000000

7.机器数字长为8位(含一位符号位),若若机器数为81(十六进

制),当它们分别表示原码、补码、反码和移码是,等价的十进制数分别是多少/

解:机器数为81H=10000001(二进制) 当看成原码时其等价大的十进制整数=-1 当看成补码时其等价大的十进制整数=-127 当看成反码时其等价大的十进制整数=-126 当看成移码时其等价大的十进制整数=+1

8.若小数点约定在8为二进制数的最右端(整数),试分别写出下列

各种情况下W、X、Y、Z的真值。 (1)【W】补=【X】原=【Y】反=【Z】移=00H

(2)【W】补=【X】原=【Y】反=【Z】移=80H (3)【W】补=【X】原=【Y】反=【Z】移=FFH 解:(1)W、X、Y的真值均为0;Z的真值为-128

(2)X的真值为-0,Y的真值为-127,W的真值为-128,Z的真值为

0

(3)X的真值为-127,Y的真值为-0,W的真值为-1,Z的真值为127 9.用补码表示二进制小数,最高位用1位表示符号(即形如

xf.x1x2?xn-1xn)时,模应为多少? 解:设X=-0.1101,则二进制数补码的模为 【X】补-X=1.0100-(-0.1100)=10(二进制)=2

10.用变形补码表示二进制小数,最高位用两位表示符号(即形如

xf.x1x2?xn-1xn)时,模应为多少? 解:设X=-00.1100,则二进制数补码的模为 【X】补-X=11.0100-(-00.1100)=100(二进制)=4

11.设字长为5.定点小数的原码表示范围和补码表示范围分别为多

少?

解:(1)字长为5,原码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 1.111 1.001 0.001 0.111 十进制真值 -(1-2-4) -2-4 2-4 1-2-4 (2)字长为5,补码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 1.0000 1.111 0.0001 0.1111 十进制真值 -1 -2-4 2-4 1-2-4 12.设字长为4,定点整数的原码表示范围和补码表示范围分别为多

少?

解:(1)字长为4,原码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 1111 1001 0001 0111 十进制真值 -(23-1)=7 -1 +1 23-1 (2)字长为4,补码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 10000 1111 00001 01111 十进制真值 -23=-8 -1 +1 23-1=7 13.求证:-【y】补=【-y】补

证明:因为【x】补+【y】补=【x+y】补,令x=-y代入,则有 【-y】补+【y】补=【-y+y】补=【0】补=0 所以【y】补=【-y】补

14.若【y】补=y0y1y2?yn,求证:-【y】补=y0y1y2?yn+2-n

证明:(1)当[y]补=0.y1y2?yn,y= 0.y1y2?yn时,因为-[y]补=[-y]补,而-y=-0.y1y2?yn,[-y]补=1.y1y2?yn+2-n

(2) 当[y]补=1.y1y2?yn,y=-(0.y0y1y2?yn+2-n)-y=1.y0y1y2?yn+2-n, [-y]补=0.y1y2?yn+2-n所以,-[y]补=0.y1y2?yn+2-n。

综合(1)(2)得:-[y]补=y0y1y2?yn+2-n即,求-[y]补时,将[y]补连符号位一起求反加1 。 15.求证:[-X]补=[[X]补]补

证明:(1)当0≤X≤1时,设[X]补=0.X1X2?Xn=X,-X=-0. X1X2?Xn 所以[-X]补=1.X1X2 ?Xn+2-n

比较[x]补和[-x]补,发现将[x]补连同符号位求反,末位加1,即得 [x]补。

(2)当-1?x<0时,设[x]补=1.X1X2?Xn,则X=-(0. X1X2 ?Xn+2-n) 时,因为-[y]补=[-y]补,而-y=-0.y1y2?yn,[-y]补=1.y1y2?yn+2-n 比较[x]补和[-x]补,发现将[x]补连同符号位求反,末位加1,即得 [x]补。

所以,[-X]补=[[X]补]补

16.设[X]补= X0X1X2?Xn,求证:

?1[X]补=2X0+X,其中X0=??0

0>x≥-1

1>X≥0

证明:当1>X≥0时,X为正小数,因为正数补码等于正数本身,所以[X]补=X,X0=0当0>X>-1时,X为负小数,根据补码定义有[X]补=2+X,X0=1.

若1>X≥0,X0=0,则[X]补=2X0+X=X;若0>X≥-1时,X0=1,则[X]补=2X0+X =2+X。

?1故[X]补=2X0+X,其中X0=??0 1>X≥0

0>x≥-1

2.3.2

1.将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。 (1)27/64 (2)-27/64

解:(1)27/16=11011*2?6=0.11011*2?1 其浮点补码表示为:111011011000

(2)-27/64=-11011*2?6=-0.11011*2?1 其浮点数补码表示为:111100101000

2.设十进制数X=(-128.75)*2?10, (1)用16位定点数表示X值

(2)设用21位二进制位表示浮点数,阶码5位,其中阶符1位;尾数16位,其中符号1位;阶码底为2.

写出阶码和尾数均用原码表示的X的机器数,以及阶码和尾数均用补码表示的X的机器数。

解:(1)X=(-128.75)*2?10=-10000000.11*2?10=-0.001000000011 其16位定点数表示为:1.110111111101000

(2)X=(-128.75)*2?10=-10000000.11*2?10=-0.1000000011*2?2 阶码和尾数均用原码表示的X的机器数为:10010 1100000001100000 阶码和尾数均用补码表示的X的机器数为:11110 10111111110100000

3.写出下列数据规范化浮点数的编码(设1位符号码,阶码为5位的移码,尾数为十位的补码)。 ?+111000 ?-10101 ?+0.01011 解:?+111000=26×0.111000

符号位为1位;6的阶码移码表示为10110;尾数补码为1110000000,所以+111000的规格化浮点数的编码为 0 10110 1110000000。 ?-10101=-25×0.10101

符号位为0;5的阶码移码表示为10101;尾数补码为 10101100000,所以-10101的规格化浮点数的编码为 1 10101 0101100000. ?+0.01011=2-1×0.1011

符号位为0;-1的阶码移码表示为01111;尾数补码为1011000000,所以+0.01011的规格化浮点数的编码为 0 01111 1011000000。

4.设32位长的浮点数,其中阶符为1位,阶码为7位,数符为1位,尾数23位。分别写出机器数采用原码和补码表示时,所对应的最接近0的负数。

解:最接近0的十进制负数就是绝对值最小的负数。 原码表示时为:-(2-1)×2-128 补码表示时为:-(2-1+2-23)×2-128

以上两个答案都是在规格化情况下得到的。因为题目中没有

特别强调规格化,所以非规格化情况下的答案为:-2-23×2-128(原码、补码相同)。

5.按下述现定格式(阶符一位,阶码7位,尾符1位,尾数23位),写出真值为-23/4096的补码规格化浮点数形式。 解:首先将十进制数-23/4096转换成二进制数,使用一些技巧进行转换可以节省时间。-23/4096=23×2-12转换成二进制数为-10111×2-12,写成规格化形式为-0.10111×2-7。 若阶码和尾数均用补码表示,则次浮点数的形式为: 11111001 1.01001000000000000000000 6.将十进制数20.59375转换成32位IEEE754浮点数的二进制数格式来存储。

解:先将二进制数转换成十进制数:(20.59375)10=(10100.10011)2。然后移动小数点,使其在1,2之间:10100.10011=1.010010011×24,e=4。 于是得到S=0,E=4+127=131,M=10000011。 最后得到32位浮点数的二进制格式为:

0 10000011 01001001100000000000000=(41A4C000)

16

7.设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化数x,其表示为:x=(-1)×(1.M)×2E-127。问它所能表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?

解:?最大正数 0 11 111 11 111 111 111 111 111 111 111 11 X=[1+(1-2-23)]×2127 ?最小正数 0 00 000 000 000 000 000 000 000 000 000 00 X=1.0×2-128 ?最大负数 1 111 111 11 111 111 111 111 111 111 111 11 X=-[1+(1-2-23)]×2127 ④最小负数 1 X=1.0×2-128

8.计算机存储程序概念的特点之一是把数据和指令都作为二进制信号看待。今有一计算机字长32位,数符位是第31位;单精度浮点数格式如下图所示:

00 000 000 000 000 000 000 000 000 000 00 31 30 23 22 0 对于二进位1000 1111 1110 1111 1100 0000 0000 0000, ?表示一个补码整数,其十进制值是多少? ?表示一个无符号整数,其十进制整数值是多少? ?表示一个IEEE754标准的单精度浮点数,其值是多少?

解:?表示一个补码整数时,

其真值=-111 0000 0001 0000 0100 0000 0000 0000B=-70104000H

其十进制值=-7×167+1×165+4×163

②表示一个无符号整数时,其十进制值=8×167+15×166+14×165+15×164+12×163

③表示一个IEEE75标准的单精度浮点数时,二进制按格式展开为: 1 0001 1111 110 1111 1100 0000 0000 0000 ↑

S 阶码8位 尾数23位

指数e=阶码-127=0001 1111-01111111=-1100000=(-96)10

包括隐藏位1的尾数1.M=1.110 1111 1100 0000 0000 0000=0.110 1111 11

于是有 X=(-1)s×1.M×2e=-(1.110 1111 11)×2-96

= -(0.1110 1111 11)×2-95

=-(14×16-1+15×16-2+12×16-3)×2-95 =-0.3115

9.设阶码8位(用移码表示),尾数23位,数符1位。用IEEE754格式表示的浮点数X的十六进制存储格式为(41360000)16,求其32位浮点数的十进制值。

解:将十六进制展开后,可以得到二进制格式为: 0 1000 0010 0110 1100 0000 0000 0000 000

S 阶码8位 尾数23位

指数e=阶码-127=10000010-01111111=00000011=(3)10

包括隐藏位1的尾数为1.M=1.0110 1100 0000 0000 0000 000=1.011011

于是有X=(-1)s×1.M×2e=+(1.011011)×2-3=+1011.011=(11.375)10 10.二进制浮点数补码表示为49AH,前4位为阶码0100,符号位为0,阶码真值为+4,后8位为尾数,符号位为1,尾数的真值为-102×2-7,所以其十进制数真值为-24×2-7×102=2-3×102

11.设阶码和尾数各为4位(各包含一个符号位),试问浮点数的表示范围为多少? 解:①阶码范围:

最小负数 最大负数 最小正数 最大正数

● ● 0

● ● 二进制补码1000 1111 0001 0111 二进制真值 -23=-8 -1 +1 23-1=7

②规格化尾数表示范围如下:

最小负数 最大负数 最小正数 最大正数

? ? 0 ? ?

二进制补码1.000 1.011 0.100 0.111 二进制真值 -1 -(2-3+2-1) 2-1 1-2-3

\\

③规格化浮点数的表示范围如图:

最小负数 最大负数 最小正数 最大正数

? ? 0 ? ? 二进制补码20111×1.000 21000×1.011 21000×0.100 20111×0.111 阶码用移码21111×1.000 20000×1.011 20000×0.100 21111×0.111

十进制真值-2-7×1 -2-8×(2-3+2-1) 2-8×2-1 27×(1-2-3)

12.设浮点数字长16位,其中阶码5位(含1位阶码)以2为底移码表示,尾数11位(含1位数符)补码表示,求表2.3(a)中所能表示的规格化范围(表2.3中码值请用十六进制,真值用十进制填写)。 表2.3(a)题目

阶码(H) 尾数(H) 真值(D) 最大正数 非零最小正数 最大负数 最小负数

解:表2.3(a)中所能表示的规格化数的范围如表2.3(b)所示 表2.3(b)题目

阶码(H) 尾数(H) 真值(D) 最大正数 11111 0.1111111111

215?(1?2?10)

非零最小正数 00000 0.1000000000 2?16?2?1

最大负数 00000 1.0111111111

?2?16?(2?1?2?10)

最小负数 11111 1.0000000000 ?215 13.设机器字长为16位,点点表示时,尾数15位,阶符1位。试问: ?定点原码整数表示时,最大正数为多少?最小负数为多少? ?定点补码整数表示时,最大正数为多少?最小负数为多少? ?定点原码小数表示时,最大正数为多少?最小负数为多少? ④定点补码小数表示时,最大正数为多少?最小负数为多少? 解:?定点原码整数表示时,

最大正数=(2?15?1)10?(32767)10;最小负数=-(215?1)10=(-32767)

10

?定点补码整数表示时,

最大正数=(2?15?1)10?(32767)10;最小负数=-(215?1)10=(-32767)

10

?定点原码小数表示时,

最大正数=(1-2?15)10;最小负数=-(1-2?15)10 ④定点补码小数表示时,

最大正数=(1-2?15)10;最小负数=-(110)

14.?采用隐藏位表示,写出十进制数-11.4的规格化浮点数形式表示,具体要求是阶码用4位二进制移码,尾数用12位原码(含数的符号);

?用隐藏位表示,写出上述格式定义的规格化浮点数所能表示的绝对

值的最大和最小的正数和绝对值最大和最小的负数的值; ?说明上述格式定义的浮点数的机器零; ④说明浮点数中的隐藏位的含义与用法。 解:?-11.4=-(1011.01100 01100?)2

规格化:-(1011.0110001100…)2= - 0.101101100011*20100; 将尾数采用隐藏位,向左移位规格化写成原码形式为1.01101100011,阶码需要减一,用移码表示【1011】移。 (2)由于移码用四位表示,所以阶码E的范围是-23~23-1,即-8~7. 尾数M使用12位原码表示(隐藏一位),所以尾数的范围是-(1-2-12)~(1-2-12)。 最大正数=(1-2-12)*27 最小正数=2-1*2-8 最大负数=2-1*2-8 最小负数=-(1-2-12)*27

(3)由于阶码采用移码表示,此浮点格式的机器零与浮点零相同,即16位全为0.

(4)所谓隐藏位就是浮点数尾数的最高位。当浮点数的尾数的基值为2时,规格化的浮点数的最高位一定是一(如果尾数用补码表示规格化浮点数尾数的最高位一定与尾数符号相反),所以浮点数在传送与存储过程中,尾数的最高位可以不表示出来,只在计算的时候才恢复这个隐藏位,或者对结果进行修正。 15、给定规格化浮点数的格式如下:阶码部分为P位,尾数部分

为Q位,各自包括一位符号位,均用补码表示,尾数基数r=2. (1)证明这种格式能表示的全部不同的规格化浮点数的总个数(包括0)N=2q-1*2p。

(2)相邻两个浮点数在数轴上的距离是否相等?如果不相等,是如何分布的。

(3)当p=4,q=8时,最大正数与最小正数之间的差为多少?最大正数与绝对值最大的负数之间的差为多少?

【解】(1)p位阶码,可以表示的阶码个数为2p;q位尾数,可以表示的尾数个数为2q,但是其中有一半的情况尾数不是规格数,因此可以表示的规格化的尾数个数为2q-1,所以这种格式能表示的全部不同的规格化浮点数的总个数(包括0)N=2q-1*2p。 (2)相邻两个浮点数在数轴上的距离不相等,它们的分布规律是离原点越近,越密集。离原点越远,越稀疏。 (3)当p=4,q=8时, 最大正数=(1-2-7)*27=127 最小正数=2-1*2-8=2-9

绝对值最大的负数=-1*27=-128 最大正数与最小正数之间的差为127-2-9

最大正数与绝对值最大的负数之间的差=127-(-128)=255 16、设浮点格式为:第15位符号位,第14位到第8位,阶码,采用补码表示,第7 位到第零位,尾数,与符号位一起采用规格化的补码表示,基数为2.

问:(1)它能表示的数值范围为多少?

(2)它能表示的最接近零的正数与负数分别是什么? (3)它总共能表示多少个数值?

【解】(1)因为阶码七位,采用补码表示,所以阶码的最大值=26-1=63,最小值=-26=-64;

因为尾数九位,采用规格化的补码表示,所以尾数的最大值=1-2-8,最小值=-1;

所以它能表示的数值范围为-1*263~(1-2-8)*263

(2)规格化尾数最接近零的正数与负数分别是:2-1和-(2-1+2-8) 所以浮点数能表示的最接近零的正数与负数分别是:(2-1)*2-64和-(2-1+2-8)*2-64

(3)7位阶码,可以表示的阶码个数为27;9位尾数,可以表示的尾数个数为29,但是其中有一半的情况尾数不是规格数,因此可以表示的规格化的尾数个数为29-1,所以这种格式能表示的全部不同的规格化浮点数的总个数(包括0)N=29-1*27=215

17、汉字的区位码、国标码和机内码有什么区别?已知汉字“春”的国标码为343AH,试分别写出它的区位码和机内码。 【解】GB2312的代码称之为国标码,国标码用16进制数表示。 汉字的区位码是用十进制数表示GB2312代码的区号和位号,与国标码没有本质的区别。仅是表示的数制有所不同而已。 机内码是系统内部标识汉字的编码。

国标码(16进制)=区位码(16进制)+2020H

机内码(16进制)=国标码(16进制)+8080H 因为汉字“春”的国标码为343AH,所以: 区位码(16

进制)=国标码(16

进制)

-2020H=343AH-2020H=141AH,转为十进制区码为20,位码为26.机内码(16

进制)=国标码(16

进制)

+8080H=343AH+8080H=B4BAH

2.3.3 数据信息的校验

1、一个纠错码的全部码字为

0000000000,

0000011111,1111111111,它的海明距离为多少?可纠正几个错误?如果出现了码字0100011110,应纠正为什么?

【解】码距是任意两个合法码之间至少有几个二进制位不相同,所以它们的码距为5.可纠正5-1个错误,即4个错误。 错误码字0100011110,可纠正为0000011111. 2、设待校验的数据为D8~D1=10101011. (1)若采用偶检验,则校验码为何? (2)若采用海明校验,其海明码为何?

(3)若采用CRC校验,其生成多项式为10011,则其CRC码为何?

【解】(1)偶检验,则校验码为101010111,其中最低位为校验位。

(2)采用海明校验,海明校验位的位数为4,分组如表所示。

12 11 10 9 8 7 6 5 4 3 2 1

D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1 1 0 1 0 1 0 1 1 √ 第一组(P1) 第一组(P2) √ √ √ √ √ √ √ √ √ √ √ 第一组(P3) √ √ √ √ √ 第一组(P4) √ √ √ √ √ P1=D6⊕D4⊕D3⊕D1⊕D0=0⊕0⊕1⊕1⊕1=1 P2=D6⊕D5⊕D3⊕D2⊕D0=0⊕1⊕1⊕0⊕1=1 P3=D7 ⊕D3⊕D2⊕D1=1⊕1⊕0⊕1=1 P4=D7⊕D6⊕D5⊕D4=1⊕0⊕1⊕0=0

所以,信息码10101011的海明校验码为:101001011111 (3)生成多项式G(x)=10011,因此生成多项式G(x)为5位,所以余数为4位。

求有效信息10101011的CRC校验码的运算过程如图所示: 余数为1010,所以,所求的CRC校验码为:1010101110. 10110110

1001101010110000 10011 11001 10011 10101 10011

11000 10011 10110 10011 1010

3、设生成多项式为X3+X+1,试写出其对应的二进制代码,并计算数据信息10101的CRC编码。

【解】多项式为X3+X+1,对应的二进制代码为1011B。 V(x)=B(x)*G(x)=(x4+x2+1)(x3+x1+1)= x7+x4+x2+x+1 CRC码为10010111.

4、求有效信息1010、1101、0111、1011的CRC校验码,并求循环余数,说明校验原理。

【解】(1)求有效信息1010的CRC校验码 A、 确定校检验位的位数。

设R为校检验位的位数,则整个码字的位数应满足不等式N=K+R≤2R-1.

设R=3,则23-1=7,N=4+3=7,不等式满足。所以R最小取3, B、 选一个R+1的生成多项式G(x),如G(x)=1011. C、 在有效信息后面添R个0,然后用它和G(x)进行模2除

法运算,所得的余数即为所求的校验位。 运算过程如下:

1001

1011 1010000 1011 1000 1011 11

余数为011,所以,所求的CRC校验码为1010011.

D、 求循环余数:在上面11余数的基础上添0继续进行模2除。 1011 11。。。。。。。。。。。。。。。。。第一个余数 110.。。。。。。。。。。。。。。第二个余数 1100 1011

111。。。。。。。。。。。。。。。。。第三个余数 1110 1011

101。。。。。。。。。。。。。。。。。第四个余数 1010 1011

1。。。。。。。。。。。。。。。。。第五个余数 10。。。。。。。。。。。。。。。。。第六个余数 100。。。。。。。。。。。。。。。。。第七个余数 1000 1011

11。。。。。。。。。。。。。。。。。第一个余数 余数循环次序如下: ●

011 110 111

101

100 010 001 (2)求有效信息1101的CRC校验码 运算过程如下:

1111

1011 1101000

1011 1100 1011 1110 1011 1010 1011

1 余数为001,所以,所求的CRC校验码为1101001. 求循环余数:在上面1余数的基础上添0继续进行模2除。 1011 1。。。。。。。。。。。。。。。。。第一个余数 10。。。。。。。。。。。。。。。。。第二个余数 100。。。。。。。。。。。。。。。。。第三个余数 1000 1011

11。。。。。。。。。。。。。。。。。第四个余数 110。。。。。。。。。。。。。。。。。第五个余数 1100 1011

111。。。。。。。。。。。。。。。。。第六个余数 1110 1011

101。。。。。。。。。。。。。。。。。第七个余数 1010 1011

1。。。。。。。。。。。。。。。。。第一个余数 余数循环次序如下:

011 110 111

101

100 010 001 ● (3)求有效信息0111的CRC校验码 运算过程如下: 110 1011 0111000 1011 1010 1011 10

余数为010,所以,所求的CRC校验码为1101010. 求循环余数:在上面1余数的基础上添0继续进行模2除。 1011 10。。。。。。。。。。。。。。。。。第一个余数 100。。。。。。。。。。。。。。。。。第二个余数 1000 1011

11。。。。。。。。。。。。。。。。。第三个余数 110。。。。。。。。。。。。。。。。。第四个余数 1100 1011

111。。。。。。。。。。。。。。。。。第五个余数 1110 1011

101。。。。。。。。。。。。。。。。。第六个余数 1010 1011

1。。。。。。。。。。。。。。。。。第七个余数 10。。。。。。。。。。。。。。。。。第一个余数 余数循环次序如下:

011 110 111

101

100 010 001 ●

(4)求有效信息1011的CRC校验码 运算过程如下:

1000 1011 1011000 1011 0

余数为000,所以,所求的CRC校验码为1011000.