资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 计算机中的数制和码制2.1数与数制一、数的表示方法与数制二、数制之间的转换(需要掌握)2.2 二进制无符号数的运算2.3 有符号二进制数表示及运算一、有符号二进制数的表示二、补码的运算规则三、 补码运算溢出2.4 小数的表示方法一、定点表示法二、浮点表示法 2.5 码与码制一、 8241BCD码二、 ASCII字符代码2.1数与数制l 一、数的表示方法与数制不同的计数制采用不同的基本计数符号,例如数符 基数 十进制 0 1 2 3 4 5 6 7 8 9 10 二进制 0 1 2 八进制 0 1 2 3 4 5 6 7 8 十六进制 0 9 A B C D F F 16l一个n位整数和m位小数可表示的实际数值 N为:1、十进制计数制2、二进制计数制=3、八进制计数制(123)8=1*82+2*81+3*80 。 4、十六进制计数制 (13A)16=1*162+3*161+A*160 2.1数与数制二、数制之间的转换(需要掌握)l1、十进制到任意进制之间的转换1)十进制整数到任意进制整数之间的转换 总的规则就是: 整数部分:十进制数N除以基数X取余数。2.1数与数制2 301 2 150 余数为:1= 2 75 余数为:0= 2 37 余数为:1= 2 18 余数为:1= 2 9 余数为:0= 2 2 余数为:0= 2 4 余数为:1= 2 1 余数为:0= 0 余数为:1= 例1. 十进制数301 二进制数 转换过程如下: 301=100101101B低位高位2.1数与数制16 18 余数为:D= 16 1 余数为:2= 16 3010 余数为:1= 例2. 十进制数301 十六进制数转换过程如下: 301=12DH2.1数与数制2)十进制小数到任意进制小数之间的转换十进制小数N乘以基数取整数。例 将0.6875转换为二进制小数将0.6875转换为十六进制小数2.1数与数制3)十进制数到非十进制数之间的转换如果一个任意十进制数要转换为非十进制数,可以把整数 部分和小数部分分别加以转换,然后把转换后的整数部分 和小数部分相加。如301.6875=100101101.1011B301.6875=12D.BH2.1数与数制l 2、非十进制数到十进制数之间的转换 规则:按权展开,按照公式计算 例 1101.1013D.5H1101.101=1*23+1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=13.6253D.5H=3*161+13*160+5*16-1=61.31252.1数与数制l 3八进制、十六进制同二进制间的转换 三位二进制数视为一个八进制位,如101为5Q;将四位二进制 数视为一个十六进制位 1):二八 010 111 000 101B=2705Q 2):八二 467Q=100110111B 3) 二进制 - 十六进制数的转换规则1001001011010.101001111 B1 2 5 A . A 7 8 H2.1数与数制例:1 0 1 1 0 1 0 1 B+ 0 0 0 0 1 1 1 1 B、 1 1 0 0 0 1 0 0 B、1 0 1 1 0 1 0 1 B- 0 0 0 0 1 1 1 1 B1 0 1 0 0 1 1 0 B1、二进制数的算术运算二进制计数制不仅物理实现容易,且运算方法也比 十进制计数制大为简单,所以计算机中均采用二进制数 。二进制数的算术运算包括加、减、乘、除。“逢二进一”和减法是“借一作二” 2.2 二进制无符号数的运算二进制数的逻辑运算二进制数的逻辑运算包括与、或、异或、非四种运算。1 0 1 1 0 1 0 1 B0 0 0 0 1 1 1 1 B1 0 1 1 1 0 1 0 B1 0 1 1 0 1 0 1 B例:0 0 0 0 1 1 1 1 B0 0 0 0 0 1 0 1 BX= 1 0 1 1 0 1 0 1 B= 0 1 0 0 1 0 1 0 B1 0 1 1 0 1 0 1 B0 0 0 0 1 1 1 1 B1 0 1 1 1 1 1 1 B与 或 非 异或 AND OR NOT XOR 二进制数的逻辑运算只按位进行运算。2.2 二进制无符号数的运算2.3 有符号二进制数表示及运算l一、有符号二进制数的表示前面我们接触的二进制数均为无符号数,即所有二 进制数位均为数值位,很多情况下都是这样对待的。但 在有些情况下,有些数值是带符号的,即可能是正数, 也可能是负数。这样就存在一个有符号二进制数的表示 方法问题。1、数的符号表示法l 为了表示一个有符号数,除了数值位以外,还应制定符号 位,通常以这个数的最高位表示符号位。符号位0:表示正数 1:表示负数2.3 有符号二进制数表示及运算2、符号数的表示方法l 原码法:如果正数的符号位用0表示,负数的符号位用1表示 ,绝对值的编码规则与前面讲的无符号数编码规则相同 ,这种表示方法称为原码表示法。一个数X的原码记为:原X数值部分=绝对值(用无符号二进制数表示) 符号位0 0 0 0 0 0 1 1+3的表示 =00000011B 原+32.3 有符号二进制数运算规则1 0 0 0 0 0 1 1-3的表示 =10000011B原-3原+0原-0=0 0 0 0 0 0 0 0B=1 0 0 0 0 0 0 0B数0的两种表示方法对8位有符号二进制数用原码表示的范围: 正数从00000000 01111111,+0 +127 负数从10000000 11111111,-0 -1272.3 有符号二进制数表示及运算优点:表示简单,易于理解,真值转换方便。缺点:运算麻烦。因为它仅仅是将其值的符号用一 位二进制数表示,因而它的原码数的+、-运算完全同笔 算。如两个正数相减,计算机首先要判断被减数的绝对 值与减数的绝对值的大小,然后决定是颠倒过来相减, 还是直接相减。最后在结果的前面加上正确的正负号。 所以,势必增加运行时间,降低速度,使运算器的逻辑 复杂化。有符号二进制数用原码表示的优缺点:2.3 有符号二进制数表示及运算l 反码法:对于负数,用相应正数的原码各位取反来表示,包括将符 号位取反,取反的含义就是将0变为1,将1变为0。如:(+45)10=(00101101)2(-45)10=(11010010)2(+0)反码 = 0 000,0000 = 00H(-0)反码 = 1 111,1111 = FFH 注意:用原码法和反码法表示符号数时,数值0有两种表示 方法,使用起来不方便。2.3 有符号二进制数表示及运算l 补码法(重点) (1)补码的定义定义:把某数X加上模数K为 该数X对模K的补码Y补,即X补=K+X当数X用n位二进制数表示时,1位为符号位,(n-1)位数 值位,数X的补码定义为:正数补码与其原码相同,只有负数才有求补的问题。所以严格地说, “补码表示法”应称为“负数的补码表示法”。2.3 有符号二进制数表示及运算补x= = ,x=1/2 (R=2) M为尾数 l 一般情况: |M|=1/R 2.4 小数的表示方法2.4 小数的表示方法一、 8241BCD码前面讲过,计算机只认识0、1二进制代码,但人们 最习惯的是十进制。为了解决这一矛盾,提出了一个比 较适合于十进制系统的二进制代码的特殊形式BCD码。 BCD码是用四位二进制数表示1位0 9的十进制数, 而4位二进制数码有16种组合,原则上可任选10种作为代 码,但为便于记忆和比较直观,最常用的是8421BCD码, 8、4、2、1分别是4位二进制数的位权值。 下面给出十进制数和8421BCD编码的对应关系。2.5 码与码制1000801117011060101501004001130010200011000008421BCD码十进制数100192.5 码与码制如:十进制数和BCD码相互转换75.4 BCD码75.4 =BCD码10000101.0101十进制数=85.5同一个8位二进制代码表示的数,当认为它表示的是二 进制数和认为它表示的是二进制编码的十进制数,数值是 不相同的。如: =24=182.5 码与码制在计算机中,BCD码有两种基本格式a.组合式BCD码b.分离式BCD码a.组合式BCD码 两位十进制存放在一个字节中。如数24的存放格式: 0 0 1 0 0 1 0 02 42.5 码与码制b.分离式BCD码 每位数存放在8位字节的低4位 ,高4位的内容与数值无关。如数24的存放格式: x x x x 0 0 1 0 42x x x x 0 1 0 0 二、 BCD码的加减法运算下面我们以组合式BCD码格式为例讨论BCD码的加减运算 。由于BCD编码是将每个十进制数用一组4位二进制数表示 ,若将这种BCD编码直接交计算机运算,计算机总是把它按 二进制数处理,所以结果可能出错。2.5 码与码制如:38+49=870 0 1 1 1 0 0 00 1 0 0 1 0 0 11 0 0 0 0 0 0 138498781显然,结果出错 。出错原因:十进制相加应 逢十进一,但计算机按二 进制运算,每四位一组, 低四位向高四位进位相当 十六进制运算,“逢十六 进一”。所以当结果超过9 时将比正确值少6。解决办法:加六修正2.5 码与码制加六修正规则:(1)如果两个BCD码位相加没有进位,并且结果9, 则该位不需修正。(2)如果两个BCD码位相加有进位,或者其结果10, 该位进行加六修正。(3)低位修正结果使高位9时,高位进行加六修正。例:94+7=1012.5 码与码制1 0 0 1 0 1 0 0 941 0 1 0 0 0 0 1 高4位大于90 0 0 0 0 1 1 1 71 0 0 1 1 0 1 1 低4位大于9+0 0 0 0 0 1 1 0 加六修正+0 1 1 0 0 0 0 0 加六修正+10 0 0 0 0 0 0 1 101结果正确2.5 码与码制减六修正规则:(1)如果两个BCD码位相减没有借位,则该位不需修正 。(2)如果两个BCD码位相减有借位,则该位进行减六修 正。例:5029=212.5 码与码制0 1 0 1 0 0 0 0 500 0 1 0 0 0 0 1 21结果正确0
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号