组成2-运算基础-1_第1页
组成2-运算基础-1_第2页
组成2-运算基础-1_第3页
组成2-运算基础-1_第4页
组成2-运算基础-1_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、120141页页行行错误错误纠正纠正P37P37第第1 1行行M(X)M(X)X X4 4+ R(X)/G(X)+ R(X)/G(X)( (M(X)M(X)X X4 4+ R(X)+ R(X) )/G(X)/G(X)P38P38倒数倒数第第9 9行行CRC CCITTCRC CCITT: X X1616+X+X1515+X+X5 5+1 +1 CRC CCITTCRC CCITT: X X1616+X+X1212+X+X5 5+1 +1 2第第2 2章章 运算基础运算基础20142320143 定点数(整数)定点数(整数) 数值数据数值数据 浮点数浮点数数据信息数据信息 字符字符 非数值数据非

2、数值数据 汉字汉字 图形图形 声音声音 等等等等 数值数值数据表示的三要素:数据表示的三要素: 数的进位制数的进位制 数的机器码表示数的机器码表示 数据格式数据格式 420144第第2 2章章 运算基础运算基础2.1 2.1 机器数与真值机器数与真值2.2 2.2 定点表示与浮点表示定点表示与浮点表示2.3 2.3 字符及汉字编码字符及汉字编码2.4 2.4 校验码校验码520145第第2 2章章 运算基础运算基础2.1 2.1 机器数与真值机器数与真值什么是机器数:什么是机器数: 将符号数码化后的数是计算机能识别的数,称为将符号数码化后的数是计算机能识别的数,称为“机器机器数数” ,以,以X

3、表示。通常用原码、反码、补码和移码表示表示。通常用原码、反码、补码和移码表示什么是真值:什么是真值: 带符号位的机器数所对应的数值称为机器数的真值,带符号位的机器数所对应的数值称为机器数的真值,以以X表示表示 。620146第2章 运算基础2.1 2.1 机器数与真值机器数与真值 机器数机器数:数:数X 在计算机中的二进制表示形式;在计算机中的二进制表示形式; 例:例: +10111002的机器数的机器数= 10111002 - 10111002的机器数的机器数 = 10111002 将符号数码化后的数是计算机能识别的数,称为将符号数码化后的数是计算机能识别的数,称为“机器机器数数” ,以,以

4、X表示。通常用原码、反码、补码和移码表示表示。通常用原码、反码、补码和移码表示真值真值: 带符号位的机器数所对应的数值称为机器数的真值,带符号位的机器数所对应的数值称为机器数的真值,以以X表示表示 。真值:真值:92=+10111002 机器数:机器数:010111002真值:真值:-92=-10111002 机器数:机器数:110111002720147二、进位制转换练习练习1 1: P39 2.2 2.2 将将下列二进制数转换为十进制数下列二进制数转换为十进制数 (4) 0.001101 (4) 0.0011010 0 B B解解: (4) : (4) 方法一:方法一: 0.0011010

5、 B = 2 0.0011010 B = 2-3 -3 + 2+ 2-4 -4 + 2+ 2-6 -6 = 0.125 + 0.0625 + 0.015625= 0.125 + 0.0625 + 0.015625 = 0.203125 = 0.203125 方法二:方法二:0.0011010 B = 1101/20.0011010 B = 1101/26 6 =(8+4+1) / 64 =(8+4+1) / 64 = 13 / 64 = 0.203125 = 13 / 64 = 0.2031258201482.1 机器数与真值一、带符号数的表示一、带符号数的表示 P26 设机器字长为n,最高位

6、为符号位。小数:小数: -1 X 1整数:整数: 2n-1 X 2n-1采用原码表示法简单,同习惯表示法,但加法运算复杂采用原码表示法简单,同习惯表示法,但加法运算复杂2.反码表示反码表示 真值真值X的反码表示范围为:的反码表示范围为:小数:小数: -1 X 1整数:整数:2n-1X 2n-11.原码表示 真值X的原码表示范围为: 93.补码表示法补码表示法 P27 真值真值X的整数补码表示范围为:的整数补码表示范围为: 小数:小数: -1 X 1 整数:整数: -2n-1X2n-1补码零的表示唯一;补码零的表示唯一;补码的表示范围比原码、反码大补码的表示范围比原码、反码大4.移码表示法移码表

7、示法 移码通常用于表示浮点数的阶码,移码通常用于表示浮点数的阶码,小数无移码表示小数无移码表示 整数移码和补码的关系,将补码整数移码和补码的关系,将补码X补补中的符号位中的符号位取反,即得该数的移码取反,即得该数的移码X移移。 在移码中,符号位在移码中,符号位“0”表示负数,表示负数,“1”表示正数表示正数 移码零的表示唯一:为移码零的表示唯一:为10000 一、带符号数的表示一、带符号数的表示10201410一、带符号数的表示一、带符号数的表示例例1 1: X1=-27 X1=-27,X2=-0.125X2=-0.125,求,求X1X1和和X2X2的原码、反码、补的原码、反码、补码表示。码表

8、示。 (设机器码位数(设机器码位数n=8n=8)。)。 X1 X1原原 = = 10011011 X1反反 = 11100100 X1补补 = 11100101 X1移移 = 01100101 十进制数十进制数二进制数二进制数 X2= -0.125= -0.0010000 X2= -0.125= -0.00100002 2X2X2原原 = = 1 1.0010000 .0010000 X2反反 = 1.1101111X2补补 = 1.1110000 解:十进制数解:十进制数二进制数二进制数 X1= -27 = -0011011X1= -27 = -00110112 211201411一、带符号

9、数的表示一、带符号数的表示小结:小结: 正数:原码正数:原码 = = 反码反码 = = 补码补码 补码表示特点:补码表示特点: P27P27表表2-22-2 原码、反码有原码、反码有+0+0、-0-0表示;表示; 补码、移码补码、移码“0”0”的表示是唯一的;的表示是唯一的; 同样的数位,补码、移码表示的范围较原码、同样的数位,补码、移码表示的范围较原码、 反码大反码大 补码表示对加减运算十分方便,因此目前计算机中补码表示对加减运算十分方便,因此目前计算机中 广泛采用补码表示法广泛采用补码表示法 122014122.1 机器数与真值二、无符号数的表示二、无符号数的表示 所谓无符号数就是整个机器

10、字长的全部二进制位均所谓无符号数就是整个机器字长的全部二进制位均表示数值位,没有符号位,表示的是正数,相当于数的表示数值位,没有符号位,表示的是正数,相当于数的绝对值。绝对值。例16:无符号数 10000000 无符号数 11111111 表示正数128 表示正数2558位无符号数表示的数值范围为:位无符号数表示的数值范围为: n n位无符号数表示的数值范围为:位无符号数表示的数值范围为:0013201413五、无符号数的表示8 8位二进制数表示的无符号数、原码、反码、补码、移码的比较位二进制数表示的无符号数、原码、反码、补码、移码的比较 142014142.1 机器数与真值练习练习2 2:

11、P382.1 2.1 写出下列十进制数的写出下列十进制数的8 8位二进制补码表示位二进制补码表示 (3) 111 (7) 0.34 (3) 111 (7) 0.34 解解: (3)111 = 64+32+15 = 1101111B 111补补 = 01101111(7)0.34 = 43.52 / 128 = 44 / 128 = (32+12) / 128 = 0.0101100B 0.34补补 = 0.0101100152014152.1 机器数与真值2.3 2.3 写出下列带符号数的原码、反码、补码和移码表示写出下列带符号数的原码、反码、补码和移码表示 ( (用用8 8位二进制代码表示位

12、二进制代码表示) ) (4) (4) 0.375 (9) 0.375 (9) 127 127 解解: (4) 0.375 = 48/128 = (32+16) /128 = 0.0110000B 0.375 原原=1.0110000 0.375 反反=1.1001111 0.375 补补=1.1010000 小数无移码小数无移码 (9) 127 = (128 1) = -(10000000 1)B =- 1111111B 127原原 = 11111111 127 反反 = 10000000 127 补补 = 10000001 127 移移 = 00000001162014162.1 机器数与真

13、值2.4 2.4 写写出以下机器数出以下机器数的的真值真值( (用二进制和十进制数用二进制和十进制数 表示)表示) (2) x (2) x补补=10101101 =10101101 (6) x (6) x移移=11010011 =11010011 解:解: (2) x(2) x补补=10101101 =10101101 x x原原= x= x补补 补补= 11010011= 11010011 X= X= 10100111010011B B = = ( 64+16+3)= ( 64+16+3)= 8383 (6)x (6)x移移=11010011=11010011 X= X=+ +1010011

14、1010011B B = 64+16+3 = 83 = 64+16+3 = 8317讨论题1、带符号数在机器中的表示方式?2、机器数和真值能划等号吗?3、8位机器数(原码、反码、补码)的表示范围?原码、反码:原码、反码:小数:小数: -1 X 1-2-7 整数:整数: 127 X +127补码:补码:小数小数: -1X1-2-7 整数:整数:-128X+12718201418第第2 2章章 运算基础运算基础2.1 2.1 机器数与真值机器数与真值2.2 2.2 定点表示与浮点表示定点表示与浮点表示19201419第2章 运算基础2.2 2.2 定点表示与浮点表示定点表示与浮点表示 一、数据表示

15、格式 定点格式 小数点位置固定 机器码位数一定时,数值表示范围有 限,但处理简单。 浮点格式 小数点位置浮动,由阶码表示小数点位置P28P28图图2-12-1机器码为机器码为n位,数值数据为位,数值数据为 n-1位位计算机中选择数的表示方式需要考虑的因素:计算机中选择数的表示方式需要考虑的因素: 要表示的数的类型要表示的数的类型 可能需要的数值表示范围可能需要的数值表示范围 数值表示的精度数值表示的精度 数据存储和处理数据存储和处理20201420一、数据表示格式1.1.定点数的表示方法定点数的表示方法 事先约定机器中所有数据的小数点位置是 固定不变的 机器码表示中小数点不占有数位,即小数 点

16、是隐含的 定点数只能表示成纯小数或纯整数 对于非纯小数需按比例转换后计算 计算机中,小数运算一般采用浮点运算; 而纯整数一般采用定点表示,因此通常将 定点数表示的运算简称为整数运算 212013211.定点数的表示方法 数的表示范围:数的表示范围: 设补码设补码X X为为n n位二进制数位二进制数(包括(包括1 1位符号位)位符号位) 定点整数表示范围:定点整数表示范围: -2-2n-1n-1X+2X+2n-1n-1-1-1 定点小数表示范围定点小数表示范围: -1X1-2-1X1-2-(n-1)-(n-1) 定点数的溢出:定点数的溢出: 若运算结果超出计算机所能表示的最大值,称为若运算结果超

17、出计算机所能表示的最大值,称为“上溢上溢”,则需进行,则需进行溢出溢出处理;处理; 若运算结果小于计算机所能表示的最小值,称为若运算结果小于计算机所能表示的最小值,称为“下溢下溢”,计算机把其作为,计算机把其作为机器零机器零处理。处理。定点小数和定点整数机器码的表示形式相同,但本质定点小数和定点整数机器码的表示形式相同,但本质不同,因为小数点隐含不同,因为小数点隐含22201422一、数据表示格式2.2.浮点数的表示方法浮点数的表示方法 在科学计算中,有些参数用位数有限的定点数无法表示: 例)阿伏加德罗(Avogadros)常数 6.02471023摩尔-1 普郎克(Plancks)常量 6.

18、625410-27 erg.s 非常大的整数非常大的整数非常小的小数非常小的小数 引入浮点数表示引入浮点数表示 在位数有限的前提下,既扩大数值表示的范围,又保持数的有效精度。232014232.浮点数的表示方法 浮点数表示浮点数表示 科学计数法科学计数法 N NM MR Re e M M:尾数,是数值的有效数字部分:尾数,是数值的有效数字部分 用带符号的定点小数表示用带符号的定点小数表示。 R R:基数,计算机采用二进制,不必表示:基数,计算机采用二进制,不必表示 e e:阶码,表示小数点的位置:阶码,表示小数点的位置 用带符号的定点整数表示用带符号的定点整数表示。 浮点数的机器码也可表示为浮

19、点数的机器码也可表示为: :数符放在最前数符放在最前 浮点数的表示范围取决于阶码的位数;浮点数的表示范围取决于阶码的位数; 精度则取决于尾数的位数;精度则取决于尾数的位数; 数数 N N 的正、负由尾符(数符)表示的正、负由尾符(数符)表示常用原码或补码表示常用移码或补码表示242014242.浮点数的表示方法 浮点数的溢出处理浮点数的溢出处理 当一个数的阶码大于机器所能表示的最大阶码时,当一个数的阶码大于机器所能表示的最大阶码时,产生产生“上溢上溢”,转入,转入“溢出中断溢出中断”处理;处理; 当一个数的阶码小于机器所能表示的最小阶码或尾当一个数的阶码小于机器所能表示的最小阶码或尾数为零时,

20、则产生数为零时,则产生“下溢下溢”,下溢时机器一般将此当作,下溢时机器一般将此当作“机器零机器零”来处理。来处理。 0 负下溢负下溢 负上溢负上溢 正下溢正下溢 正上溢正上溢 机器零机器零 尾数正尾数正阶码正阶码正尾数正尾数正阶码负阶码负尾数负尾数负阶码负阶码负尾数负尾数负阶码正阶码正机器零:机器零: 尾数为尾数为0 0,不论其阶码为何值,不论其阶码为何值 阶码的值负溢出时阶码的值负溢出时 浮点数表示浮点数表示的优点:的优点: 数的表示范围比定点数大数的表示范围比定点数大 不易丢失有效数字,运算精度高,运算结果随不易丢失有效数字,运算精度高,运算结果随 时规格化时规格化 浮点数表示浮点数表示的

21、缺点:的缺点: 控制电路复杂控制电路复杂 252014252.浮点数的表示方法 例17:用12位浮点机器码表示-1011.101B,若浮点数格式为: 其中4位阶码、8位尾数,阶码、尾数均以补码表示。 解:解:- -1011.101B = - 0.10111011011.101B = - 0.10111012 24 40 1 0 0 1 . 0 1 0 0 0 1 1 4位位8位位 IEEE754IEEE754标准的浮点数标准的浮点数26讨论题1、数在机器中表示格式?2、定点数表示的格式、特点?3、浮点数表示的格式、特点?4、什么是溢出?27201427第第2 2章章 运算基础运算基础2.1 2

22、.1 机器数与真值机器数与真值2.2 2.2 定点表示与浮点表示定点表示与浮点表示2.3 2.3 字符及汉字编码字符及汉字编码28201428第2章 运算基础2.3 2.3 字符及汉字编码字符及汉字编码一、字符与字符串的表示 二进制信息编码非数值数据编码 指用二进制代码来表示计算机所要处理的信息 数值、数字、字母和符号等 1.BCD码(二 - 十进制码) 用4位二进制表示1位十进制数常用的为常用的为“8421BCD8421BCD码码” ” P29 P29 表表2-32-3特征:特征: 自然二进制码自然二进制码 有权码有权码 1010101011111111为非法码为非法码有各种编码方案:u 自

23、然二进制编码u 有权BCD编码u 自补BCD编码u 可靠性编码(格雷码)29201429一、字符与字符串的表示 2.ASCII码(American Standard Code for Information Interchange,美国信息交换标准码) 标准的为七位ASC码,可表示27=128种不同的 字符,包括: P30表2-4 十进制数字09、 英文26个大、小写字母 符号 控制符例:例: 数字数字 0909: 30H39H30H39H 字母字母 大写大写A A: 41H41H 小写小写a a: 61H61H 30ASCII字符编码表字符编码表312014312.3 2.3 汉字编码汉字编

24、码二、汉字编码二、汉字编码 汉字特点 象形文字,5万左右,常用7千左右 字型结构复杂 重音字多 多音字多 汉字处理过程 汉字输入码: 汉字 二进制编码 汉字交换码: 汉字处理系统间交换信息用 的编码 汉字内码: 计算机内部处理使用的编码 汉字字模码: 打印、显示的输出编码322014322.3 2.3 汉字编码汉字编码 汉字处理过程数字数字编码编码字音编码字音编码字形编码字形编码交换码(国标码)交换码(国标码)汉字内码汉字内码字形码字形码显示汉字显示汉字打印汉字打印汉字33201433二、汉字编码1. 1. 汉字输入码汉字输入码 目的:将汉字转换成0、1表示的编码送入计算机 问题:利用西文标准

25、键盘输入 设计思想:利用字母、数字、符号的编码组合生 成汉字信息 编码方案的衡量指标: 规则简单易记易掌握 编码量大覆盖面广 重码率小减少击键数 码位短平均击键数少输入速度快输入速度快342014341. 汉字输入码常用汉字输入编码方法常用汉字输入编码方法 数字编码:数字编码:用数字串代表一个汉字用数字串代表一个汉字 常用的是国际区位码常用的是国际区位码 优点:编码唯一性好,编码长度固定优点:编码唯一性好,编码长度固定 缺点:不易掌握缺点:不易掌握 拼音码:拼音码:以汉语拼音为基础的输入方法以汉语拼音为基础的输入方法 优点:易掌握优点:易掌握 缺点:重码多,需二次输入缺点:重码多,需二次输入

26、码位长码位长 字形码:字形码:用汉字的形状来进行的编码用汉字的形状来进行的编码 如五笔字型输入法如五笔字型输入法 优点:重码较少优点:重码较少 缺点:不易掌握缺点:不易掌握 各种编码方案的实现,均需相应的软、硬件支持各种编码方案的实现,均需相应的软、硬件支持 可采用词组、联想输入,以提高输入速度可采用词组、联想输入,以提高输入速度 多媒体计算机可看多媒体计算机可看“字字”、听、听“话话”35 (1) 国标码国标码 是是“国家标准汉字编码国家标准汉字编码”的简称,全称是的简称,全称是“信息交换用信息交换用汉字编码字符集汉字编码字符集基本集基本集”,又称汉字交换码。,又称汉字交换码。 制定了国家标

27、准编号为制定了国家标准编号为GB2312802. 汉字内码与交换码(国标码)汉字内码与交换码(国标码)一个汉字用两个字节表示,每个字节只用前一个汉字用两个字节表示,每个字节只用前7位,最位,最高位都未作定义。为书写方便,常用高位都未作定义。为书写方便,常用4位十六进制数位十六进制数来表示一个汉字来表示一个汉字。主要作用是用于统一不同的系统之间所用的不同编码。主要作用是用于统一不同的系统之间所用的不同编码。通过将不同的系统使用的不同编码统一转换成国标码。通过将不同的系统使用的不同编码统一转换成国标码。2.3 汉字编码汉字编码36(2) 汉字机内码汉字机内码简称“内码”, 是汉字在计算机内部存储、

28、运算、处 理的代码;一般采用两个字节表示,两个字节的最高位均规定为“1”。 “啊啊”的国标码:的国标码:0011 0000 0010 0001(3021H)“啊啊”的机内码:的机内码:1011 0000 1010 0001(B0A1H)2.3 汉字编码汉字编码例如在国标码的两个七位编码的最高位之前个加一个“1”,即形成了两个字节的汉字机内码。37201437二、汉字编码3.3.汉字字模码汉字字模码 汉字汉字字模码是汉字的输出形式,用于汉字的显示字模码是汉字的输出形式,用于汉字的显示 和打印和打印 原体字型码:文字质量高原体字型码:文字质量高 但输出机构复杂,速度慢但输出机构复杂,速度慢 点阵表

29、示法:将汉字划分为各个小区域,以点阵点阵表示法:将汉字划分为各个小区域,以点阵 表示表示 64 646464:可区别宋体和黑体,每字需:可区别宋体和黑体,每字需512512个字节;个字节; 96 969696:可表示笔锋和曲线,每字需:可表示笔锋和曲线,每字需11521152个字节个字节 汉字库汉字库是指所有汉字的字模点阵,每一种字体都是指所有汉字的字模点阵,每一种字体都 有独立的汉字库有独立的汉字库汉字汉字内码内码 输出显示或打印输出显示或打印检索汉字库检索汉字库 矢量表示法:矢量表示法: 抽取每个笔划的特征坐标值,组成字型的矢量信息抽取每个笔划的特征坐标值,组成字型的矢量信息 质量高,可方

30、便地进行平滑旋转、缩放等变换质量高,可方便地进行平滑旋转、缩放等变换 汉字输入码、汉字内码、字模码是计算机中用于输入、汉字输入码、汉字内码、字模码是计算机中用于输入、 内部处理、输出三种不同用途的编码内部处理、输出三种不同用途的编码 输入汉字时,实际上是通过输入法将输入编码转换为汉输入汉字时,实际上是通过输入法将输入编码转换为汉 字内码字内码 显示和打印汉字时,需要先通过汉字内码在字库文件中显示和打印汉字时,需要先通过汉字内码在字库文件中 找到对应的字模码,然后输出找到对应的字模码,然后输出38201438第第2 2章章 运算基础运算基础2.1 2.1 机器数与真值机器数与真值2.2 2.2

31、定点表示与浮点表示定点表示与浮点表示2.3 2.3 字符及汉字编码字符及汉字编码2.4 2.4 校验码校验码39讨论题1 1、字符在计算机中的表示方法、字符在计算机中的表示方法2 2、在计算机中汉字是如何输入、存储和输出的。、在计算机中汉字是如何输入、存储和输出的。40201440第2章 运算基础2.4 2.4 校验码校验码一、概述 计算机信息在存储、传输过程中会出现错误。 原因: 电源瞬变 电磁、高频干扰 电路工作于临界状态 等等 措施: 电路设计提高可靠性 编码方案 等等校验码:校验码分为两大类:一类为检错码,只能 发现错误;另一类为检错纠错码,是一种 能发现错误,并能自动纠正错误的数据编

32、 码。41201441一、概述码字: 指若干位代码组成的一个字,任何编码都由一组 码字组成。码距: 两个码字间变化的二进制位数称为码距。最小码距:在一种编码中任意两个码字之间最少变化的二进 制位数。冗余:为使数据在发生出错时能被检查出来,并能自动纠错, 引入数据冗余的概念。 在编码的正常码字中增加一些额外的二进制位码(冗 余码)。冗余码的加入使检错成为可能,冗余码增加 了码距,当最小码距大于等于2时,数据编码就具有检 错的能力。若冗余位编制适当,不仅具有检错功能, 还可具有纠正功能。422013422.4 2.4 校验码校验码二、奇偶校验码二、奇偶校验码1.简单的奇偶校验码 特点:增加1位冗余

33、位 只能检出奇数个错,不能纠错 奇校验:使信息位连同校验位“1”的个数为奇数 偶校验:使信息位连同校验位“1”的个数为偶数 校验位:校验位: 例例1414:写出“5”、“A”和“a”的标准ASCII 码、奇校验码和偶校验码。 P33ASCII码码二进制数表示(二进制数表示(7位)位)奇校验(高位为校验位)奇校验(高位为校验位)偶校验(高位为校验位)偶校验(高位为校验位)5Aa011 0101100 0001110 00011 011 01011 100 00010 110 00010 011 01010 100 00011 110 000143201443二、奇偶校验码 奇偶校验奇偶校验奇偶校

34、验位的形成及检测奇偶校验位的形成及检测 奇偶校验位发生器: 为检测信息在传送或存储过程中产生的错误, 在发送信息的同时加入一位校验位。 奇偶检测器: 信息在接受时加以奇/偶检测例19:设计一个7位ASCII码的校验位发生器和检测器。 设:输入代码为:b6b5b4b3b2b1b0,校验位为bp; 奇校验位为bpo;偶校验位为bpe。解:(1)设计校验位发生器(可选择奇校或偶校) 偶校验时, bp= bpe 奇校验时, bp= bpo44201444例例1515: 写出偶校验的校验位逻辑函数表达式写出偶校验的校验位逻辑函数表达式 bpe= b6b5b4b3b2b1b0 写出奇校验的校验位逻辑函数表

35、达式写出奇校验的校验位逻辑函数表达式 bpo= b6b5b4b3b2b1b0 用异或门设计电路用异或门设计电路 P33图2-3 当偶校验时:当偶校验时: b bp p= b= bpepe 当输入代码有偶数个当输入代码有偶数个“1 1”时,时, b bp p= 0= 0,即校验位置,即校验位置“0 0” 当输入代码有奇数个当输入代码有奇数个“1 1”时,时, b bp p= 1= 1,即校验位置,即校验位置“1 1” 当奇校验时:当奇校验时: b bp p= b= bpopo 当输入代码有偶数个当输入代码有偶数个“1 1”时,时, b bp p= 1= 1,即校验位置,即校验位置“1 1” 当输

36、入代码有奇数个当输入代码有奇数个“1 1”时,时, b bp p= 0= 0,即校验位置,即校验位置“0 0”校验位连同数据位一同进行存储和传输校验位连同数据位一同进行存储和传输45201445例例1515:(2 2)设计校验检测器(可选择奇校或偶校)设计校验检测器(可选择奇校或偶校) 偶校验时,偶校验时, E Ep p= E= Epepe 奇校验时,奇校验时, E Ep p= E= Epopo 用异或门设计电路用异或门设计电路 P34图2-4 写出偶校验检测输出的逻辑函数表达式写出偶校验检测输出的逻辑函数表达式 E Epepe= = b bP P b b6 6 b b5 5 b b4 4 b

37、 b3 3 b b2 2 b b1 1 b b0 0 写出奇校验检测输出的逻辑函数表达式写出奇校验检测输出的逻辑函数表达式 E Epopo= = b bP P b b6 6 b b5 5 b b4 4 b b3 3 b b2 2 b b1 1 b b0 0 E Ep p为校验出错输出为校验出错输出 E Epepe为偶校验检验出错输出;为偶校验检验出错输出;E Epopo为奇校验检验出错输出为奇校验检验出错输出 当偶校验当偶校验检验检验时:时: E Ep p= E= Epepe 当输入代码和校验位共有偶数个当输入代码和校验位共有偶数个“1 1”时,时, E Ep p= 0= 0, 未发现错误未发

38、现错误(但只能发现奇数个出错)(但只能发现奇数个出错) 当输入代码和校验位共有奇数个当输入代码和校验位共有奇数个“1 1”时,时, E Ep p= 1= 1, 发现错误,但不确定错误位置发现错误,但不确定错误位置 当奇校验当奇校验检验检验时:时: E Ep p= E= Epopo 当输入代码和校验位共有偶数个当输入代码和校验位共有偶数个“1 1”时,时, E Ep p= 1= 1, 发现错误,但不确定错误位置发现错误,但不确定错误位置 当输入代码和校验位共有奇数个当输入代码和校验位共有奇数个“1 1”时,时, E Ep p= 0= 0, 未发现错误未发现错误(但只能发现奇数个出错)(但只能发现

39、奇数个出错)46201446二、奇偶校验码二、奇偶校验码2.2.交叉奇偶校验码交叉奇偶校验码 特点:特点:二维校验 能检出错误位置,并纠错 但同一行或同一列只能发现奇数个错例20:磁带上连续存放10个字符:ABCDEFGHIJ, 采用交叉偶校验 P34例2-17每行的校每行的校验位验位LRC,用于水平用于水平检查检查冗余校验行冗余校验行VRC,用于垂用于垂直检查直检查例:例:当当B(42H62H):出现奇数个错,由第:出现奇数个错,由第2行行LRC检出;此时检出;此时列检测为第列检测为第3列列VRC错,将第错,将第2行第行第3列信息取反纠错列信息取反纠错 当当A(41H50H):出现偶数个错,

40、第:出现偶数个错,第1行行LRC不能检出错误,不能检出错误,此时此时VRC能检测出第能检测出第4列、第列、第8列错,但不知道出错在哪行,列错,但不知道出错在哪行,无法纠错无法纠错01 0 0 0 0 0 1A41H1行01 0 0 0 0 1 0B42H2行11 0 0 0 0 1 1C43H3行01 0 0 0 1 0 0D44H4行11 0 0 0 1 0 1E45H5行11 0 0 0 1 1 0F46H6行01 0 0 0 1 1 1G47H7行01 0 0 1 0 0 0H48H8行11 0 0 1 0 0 1I49H9行11 0 0 1 0 1 0J4AH10行10 0 0 1 0

41、 1 111行147201447二、奇偶校验码二、奇偶校验码2.2.交叉奇偶校验码交叉奇偶校验码 特点:特点:二维校验 能检出错误位置,并纠错 但同一行或同一列只能发现奇数个错例20:磁带上连续存放10个字符:ABCDEFGHIJ, 采用交叉偶校验 P34例2-17每行的校每行的校验位验位LRC,用于水平用于水平检查检查冗余校验行冗余校验行VRC,用于垂用于垂直检查直检查例:例:当当B(42H62H):出现奇数个错,由第:出现奇数个错,由第2行行LRC检出;此时检出;此时列检测为第列检测为第3列列VRC错,将第错,将第2行第行第3列信息取反纠错列信息取反纠错 当当A(41H50H):出现偶数个

42、错,第:出现偶数个错,第1行行LRC不能检出错误,不能检出错误,此时此时VRC能检测出第能检测出第4列、第列、第8列错,但不知道出错在哪行,列错,但不知道出错在哪行,无法纠错无法纠错01 0 0 0 0 0 1A41H1行01 0 0 0 0 1 0B42H2行11 0 0 0 0 1 1C43H3行01 0 0 0 1 0 0D44H4行11 0 0 0 1 0 1E45H5行11 0 0 0 1 1 0F46H6行01 0 0 0 1 1 1G47H7行01 0 0 1 0 0 0H48H8行11 0 0 1 0 0 1I49H9行11 0 0 1 0 1 0J4AH10行10 0 0 1

43、 0 1 11行11048201348二、奇偶校验码二、奇偶校验码3.3.循环冗余校验码(循环冗余校验码(CRCCRC码)码) 特点特点:增加多位冗余码(循环冗余码,即校验位码) 生成多项式G(X)为k+1位,校验码为k位 具有检错纠错功能 工作原理工作原理: (1) 产生循环冗余校验码 设待组码的数据为M(X) 选定生成多项式G(X),G(X)为k+1位 将M(X)左移k位(低位补0),得M(X)Xk 将M(X)Xk G(X),得余数R(X),即为校 验位码(校验码必须取k位) 该算术运算基于模2运算,即不包括进位(借 位)的异或操作 M(X)Xk+ R(X),形成CRC码 M(X)M(X)

44、的右边空出的右边空出k k位位(补(补k k位位“0 0”) 当当R(X)R(X)小于小于k k位时,高位位时,高位补补“0 0” 49201449工作原理工作原理(2 2)循环冗余校验码检验)循环冗余校验码检验 用用(M(X)(M(X)X Xk k+ R(X) + R(X) G(X)G(X) 若余数若余数R=0R=0,传输正确,传输正确 若余数若余数0 0,发现错误,可根据,发现错误,可根据R R找出错误位找出错误位 置,并对该数位取反纠错置,并对该数位取反纠错 同一个生成多项式u常用生成多项式:常用生成多项式: CRC 12 CRC 12: X X1212+X+X1111+X+X3 3+X

45、+X2 2+X+1+X+1 CRC 16 CRC 16: X X1616+X+X1515+X+X2 2+1+1 CRC CCITT CRC CCITT: X X1616+X+X1212+X+X5 5+1 +1 接收到CRC码生成多项式是接受方和发送方的一个约定,也是一个二进制数,在生成多项式是接受方和发送方的一个约定,也是一个二进制数,在整个传输过程中,这个数始终保持不变。整个传输过程中,这个数始终保持不变。 在发送方,利用生成多项式对信息多项式做模在发送方,利用生成多项式对信息多项式做模2 2除生成校验码。除生成校验码。在接受方利用生成多项式对收到的编码多项式做模在接受方利用生成多项式对收到

46、的编码多项式做模2 2除检测,并除检测,并 确定错误位置。确定错误位置。生成多项式生成多项式G(X)G(X)应满足以下条件:应满足以下条件: 生成多项式的最高位和最低位必须为生成多项式的最高位和最低位必须为1 1。 当被传送信息(当被传送信息(CRCCRC码)任何一位发生错误时,被生成多项式码)任何一位发生错误时,被生成多项式 除后应该使余数不为除后应该使余数不为0 0。 不同位发生错误时,应该使余数不同。不同位发生错误时,应该使余数不同。 对余数继续做除,应使余数循环(便于纠错)。对余数继续做除,应使余数循环(便于纠错)。501 1 0 01101111011 1111110 00 0110

47、1111011 1101101 12014503.循环冗余校验码(CRC码)例例2121:设设M(X)=1111001001001 M(X)=1111001001001 例例2-182-18 生成多项式生成多项式G(X)=G(X)= X X4 4+X+X3 3+X+1=11011 +X+1=11011 (1 1)CRCCRC码的产生(发送方)码的产生(发送方)11011 1111001001001000011011 111100100100100001 11101111011 101 1010 00 01 1 0 01101111011 11 111 11 11 11101111011 111

48、0 11100 00 01 10 00 00 00 01101111011 1111111 10 00 00 01101111011 0111 01111 1得得CRC码:码:11110010010010111当当R(X)R(X)小于小于k k位时,高位位时,高位补补“0 0” 将将M(X)M(X)X Xk k+ R(X)+ R(X)将将M(X)M(X)左移左移4 4位,位,补入补入4 4个个0 0 51201451例例2121: M(x)=1111001001001M(x)=1111001001001 生成多项式生成多项式G(X)= XG(X)= X4 4+X+X3 3+X+1=11011

49、+X+1=11011 (2 2)对)对循环冗余校验码循环冗余校验码CRC :11110010010010111 进行检测(接收方)进行检测(接收方) 例例2-192-19522014522.4 2.4 校验码校验码练习练习3 3: P392.6 2.6 已知生成多项式为已知生成多项式为x x4 4+x+1 ,+x+1 ,有效信息为有效信息为 100101011 100101011,求,求CRCCRC校验码。校验码。解解: 已知已知 M(X) = 100101011, G(X)= x4+x+1 = 10011 100011001 10011 1001010110000 10011 11011 1

50、0011 10000 10011 11000 10011 1011 R(X) 循环冗余校验码循环冗余校验码CRC = 100101011 1011532014532.4 2.4 校验码校验码2.8 已知生成多项式为已知生成多项式为x4+x+1,接收到的,接收到的CRC校验校验 码为码为1001010111010,请检查有无出错。,请检查有无出错。解:解:已知接收到的已知接收到的CRC=1001010111010 G(X)= x4+x+1=10011 100011001 10011 1001010111010 10011 11011 10011 10001 10011 10010 10011 0

51、001 R(X) R(X) 0 有错有错 如何纠错如何纠错?关键:关键: 错在哪位?错在哪位?542014542.4 2.4 校验码校验码简单例子简单例子:设:设M(X)=1010M(X)=1010,G(X)=1011G(X)=1011出错位情况:出错位情况:(1)(1)请给出请给出CRCCRC校验码;校验码;(2)(2)检测接收到的检测接收到的CRCCRC编码:编码: 传送正确传送正确 A A4 4 出错出错 A A5 5 出错出错 A A7 7 出错出错接收到的接收到的CRC码码余数余数 R(X)出错位出错位码位A7 A6 A5 A4 A3 A2 A1正确1 0 1 0 0 1 10 0

52、0无错误1 0 1 0 0 1 01 0 1 0 0 0 11 0 1 0 1 1 11 0 1 1 0 1 11 0 0 0 0 1 11 1 1 0 0 1 10 0 1 0 0 1 10 0 10 1 01 0 00 1 11 1 01 1 11 0 1A1 A2 A3 A4 A5 A6 A755(2)(2)检测接收到的检测接收到的CRCCRC编码:编码: 1 0011 001 传送正确:传送正确: 1011 1010 0111011 1010 011 10111011 1011 1011 10111011 0 0 正确正确 A A4 4 出错:出错: 1 1 1011 101 1011

53、 1011 1 011 011 10111011 0 0 011011 R(X)=011 R(X)=011,查表,查表 A A4 4出错,取反纠错出错,取反纠错201455简单例子解解: (1) : (1) M(X)M(X)左移左移3 3位,得:位,得:1010 0001010 000; G(X)=1011 G(X)=1011 1 001 1 001 1011 1010 000 1011 1010 000 10111011 1 000 1 000 1 0111 011 011011 R(X) R(X)发送的发送的CRCCRC码:码: 1010 1010 01101156 A A7 7 出错:出

54、错: 1 1 1011 1011 0 0010 011010 011 10 1110 11 101 R(X)=101 101 R(X)=101,A A7 7出错出错201456简单例子 A A5 5 出错出错 1 011 1 011 1011 10 1011 100 00 0110 011 10111011 11 01 11 01 10 1110 11 11 0111 01 10 1110 11 110110 R(X)=110R(X)=110,A A5 5出错出错57本章重点本章重点201457 机器码的表示机器码的表示 原码、反码、补码、移码原码、反码、补码、移码 定点数和浮点数表示定点数和浮点数表示 非数值数据表示非数值数据表示 BCD BCD码、码、ASCIIASCII码码 校验码校验码 奇偶校验码、奇偶校验码、CRCCRC码码58作作 业业201458 P38P38: 2.1 2.1 (1 1) (8 8) 2.3 2.3 (8 8) 2.4 2.4 (3 3) (5 5) 2.5 2.5 2.7 2.759讨论题 1、信息在计算机传送过程中要考虑哪些问题? 2、编制信息码应考虑哪些问题 3、奇偶

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论