欢迎来到天天文库
浏览记录
ID:22539126
大小:427.50 KB
页数:5页
时间:2018-10-30
《二进制补码运算new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课题三二进制补码运算下面我们主要介绍在原码与补码运算中应注意的问题。在原码运算时,首先要把符号与数值分开。例如两数相加,先要判断两数的符号,如果同号,可以做加法,如果异号,实际要做减法,减后的差作为两数之和,和数的符号与绝对值较大的数的符号相同。两数相减也是一样,首先要判断两数符号,然后决定是相加还是相减,还要根据两数的大小与符号决定两数之差的符号。如果是补码运算则不存在符号与数值分开的问题。在补码运算时,把符号位也看成数值,一起参加运算,而且加法运算就一定是相加,减法运算就一定是相减,因此在计算机中对带符号的数进行加减时,最好使用补码。补码的运算规则是:X补+Y补=(X+Y)补设有两个数x
2、和y,x=-89,y=+18,用补码表示如下x=10100111B(-89的补码)y=00010010B(+18的补码)若求x+y之和,可不用考虑两数的符号,直接相加,得出的和为x+y=11000111B(-71的补码),可见直接相加结果是正确的。(列出算式)若求x-y之差,也可以直接相减,即x=101001l1B(-89的补码)-y=00010010B(+18的补码)x-y=10010101B(-107的补码)可见直接相减结果也是正确的。5若求y-x之差,同样也用减法,即y=00010010B(+18的补码)-x=10100111B(-89的补码)y-x=101101011B(+107的补
3、码)也就是说做减法时,不论两数符号如何,其相减结果不论是数值还是符号都是正确的。在上述y-x算式中,最高位发生的进(借)位只是因为在字长为8位的计算机中,若运算结果并未超出补码的记数范围(-128~+127),这时的进(借)位被视为自然丢弃。计算机在运算中,这种自然丢弃并不影响结果的正确性。但要注意,如果字长为8位的计算机,其计算结果超过8位补码所允许的表示范围(即超出-128~+127),则其进位称之为溢出。溢出和自然丢弃是两种不同的概念。判别属于哪一种,则要看计算结果第7位与第8位的进位情况,如果第7位和第8位同时产生进位,即所谓双进位,则这种进位属于允许的自然丢弃。如果只有第7位或者只
4、有第8位产生进位,即只有单进位,则这种进位属于溢出,溢出表示其数值超出计算机字长所能表示的范围,运算结果必然是错误的,因而也是不允许的。应当注意的是,溢出的概念主要是指带符号二进制数进行加减运算时可能产生的一种结果。对于无符号数,第8位不是符号位,只有第8位的进位才称为进位,而不采用溢出这个概念。对于无符号数的运算还应注意一点,当两个无符号数相减时,不允许用小的数去减大的数,因为小减大它的差一定是负数,无符号数的前提是没有符号,显然也不允许有负数,如果这样做,减的结果也必然是错误的。五、字符的编码(一)ASCII码5(二)BCD码BCD码也叫做十进制编码,有压缩和非压缩两种存储形式。压缩的B
5、CD码是用半个字节存放一位十进制数,一个字节存放两位十进制数。1.8421BCD码表1-5常见BCD码编码表十进制8421BCD码余3码格雷码00000001100001000101000001200100101001130011011000104010001110110501011000011160110100101017011110100100810001011110091001110011012.余3码余3码是无权码,它具有良好的代码校验性。这种编码转换成十进制数后,每个代码的值比相应的十进制数多3。见表1-5。例如,十进制数6,它对应的余3码是1001=9;十进制数7对应的余3码是1
6、010=10;它们都比十进制数大3。因此,这种BCD编码形式称为余3码。3.格雷码格雷码也是一种无权的BCD编码形式,其特点是相邻两位的代码,仅有一个码位变化。这种编码抗干扰能力强,常用于计算机控制的机床的角编码器、轴位编码等。(三)奇偶校验码奇偶校验是一种常用的简单的校验方法,在计算机内常用作存储器读写校验、ASCII字符传送中的校验等。5奇偶校验码是在传送的代码上附加一个校验位,作为代码的比较校验。这样在接收方,先对信息代码按双方的校验规定求奇偶校验码,然后再与收到的附加校验位作比较,若相等则认为接收的代码是正确的,若不相等则认为接收的代码是错误的。实际上,奇偶校验就是鉴别代码中有奇数个
7、“1”,还是有偶数个“1”。例如,有效信息为1011001,若采用偶校验码记为“0”的话,则有效代码为10110010;若采用奇校验码记为“1”的话,有效代码则为10110011。有效代码的最后的那个数位,就是奇偶校验位。当接受方收到这组代码后,便根据奇、偶校验的约定和有效代码中“1”的个数形成校验码,然后再与接收的校验位作比较。比较相等的话,说明接受的信息正确;反之,则认为出现了错误。奇偶校验只能发现一位错
此文档下载收益归作者所有