- 1、本文档共161页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 数制及编码
2.6 数值的机器运算 2.6.1定点加减运算 1.原码加减运算 2. 补码加减运算 3.补码的溢出判断与检测方法 2.6.2 带符号数的移位和舍入操作 1.带符号数的移位操作 2.带符号数的舍入操作 2.6.3定点乘法运算 1.原码一位乘法 2.补码一位乘法 3.补码二位乘法 2.6.4 定点除法运算 1.原码除法运算 2.补码除法运算 2.6.5 规格化浮点运算 1.浮点加减运算 2. 浮点乘除运算 * (3)海明码的编排顺序: 应使海明码每位的位号等于参加校验它的校验位的位号之和。 以例2-24中的第2种情况为例说明海明码位号和校验位位号的关系,如表2-7所示。 海明码位号 数据位/校验位 参与校验的校验位位号 参与校验的校验位 H1 P1 1 P1 H2 P2 2 P2 H3 D1 1,2 P1,P2 H4 P3 4 P3 H5 D2 1,4 P1,P3 H6 D3 2,4 P2,P3 H7 D4 1,2,4 P1,P2,P3 H8 P4 8 P4 H9 D5 1,8 P1,P4 H10 D6 2,8 P2,P4 H11 D7 1,2,8 P1,P2,P4 H12 D8 4,8 P3,P4 H13 P5 13 P5 表2-7 海明码位号和校验位位号的关系(k=8) (4)校验位Pi的编码值等于它所参与校验的各位信息位的异或值。校验位Pi与各位的关系如表2-8所示。 参与的校验位Pi 有关信息位的位置号 每位对应的信息位 P1 3,5,7,9,11 D1,D2,D4,D5,D7 P2 3,6,7,10,11 D1,D3,D4,D6,D7 P3 5,6,7,12 D2,D3,D4,D8 P4 9,10,11,12 D5,D6,D7,D8 表2-8 校验位与海明码每位的关系(k=8) 从上表可以看出校验位Pi所校验的数据位和这些数据位的海明位号。 每一个校验位应是表中相应的信息位的异或关系,即是它们几个信息位形成的偶校验的结果。如下面几个表达式所示: P1= D7⊕D5⊕D4⊕D2⊕D1 (2-7) P2= D7⊕D6⊕D4⊕D3⊕D1 (2-8) P3= D8⊕D4⊕D3⊕D2 (2-9) P4= D8⊕D7⊕D6⊕D5 (2-10) 表2-8中并未给出P5与海明码信息位之间的关系,因为它是判别是两位出错还是一位出错的总校验位,表达式如下: P5=P4⊕P3⊕P2⊕P1⊕D8⊕D7⊕D6⊕D5⊕D4⊕D3⊕D2⊕D1 (2-11) 3.校验方法 如前所述, 如果发送方发送的有效信息为8位(k=8),校验位为5位(r=5),那么信息到达接收方后,应进行偶校验,求出相应的校验和。 S1= P1⊕D7⊕D5⊕D4⊕D2⊕D1 (2-12) S2= P2⊕D7⊕D6⊕D4⊕D3⊕D1 (2-13) S3= P3⊕D8⊕D4⊕D3⊕D2 (2-14) S4= P‘4⊕D’8⊕D‘7⊕D’6⊕D‘5 ( 2-15) S5=P5⊕P4⊕P3⊕P2⊕P1⊕D8⊕D7⊕D6⊕D5⊕D4⊕D3⊕D2⊕D1 (2-16) (1)如果只检查和纠正一位错,就不需要发送方的总校验位P5,那么接收方也就无需总检验位S5。这种情况下,怎样判别是否有错呢? 通过上面的表达式(2-12)~(2-15),求出S4、S3、S2、S1的值。若(S4 S3 S2 S1)所指的十进制数值等于0,则说明传送无错;若(S4 S3 S2 S1)所指的十进制数值不为0,则说明传送有错,且这个数值就是出错的位置。 这是因为:若第5位(D2)发生错误,则必然使S3、S1都为1,即由上述S4 S3 S2 S1=0101,这个值正好指向第5位(D2)的位置,这样就能完成查错。位置已知,就可以通过相应的硬件电路进行纠正。 由上所述可以看出,如果没有总校验位P5,那么就无法判定是否有两位错。那么就需要补充一个总校验位P5,接收方要多一个校验位S5。 (2)通过S5S4S3S2S1判别是否有错 若( S4S3S2S1 )所指的十进制数值等于0,则说明传送无错; 若S5=0,而( S4S3S2S1 )所指的十进制数值不等于0,说明有两位发生了错误; 若S5=1,而( S4S3S2S1 )所指的十进制数值不等于0,说明发生了一位错误,它们所表示的值就是出错的位置。
文档评论(0)