您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第二章 电子计算机中信息的表示及其运算
第二章电子计算机中信息的表示及其运算进位计数制机器内数据及符号的表示方法微型计算机的数据类型数的运算方法2.1进位计数制512=5*102+1*101+2*100系数基数权数2.1.1概述基本概念权数:数值N中各数码所在的位置系数:数值N中各位置上的数码基值:数值N中各个位置上所能表示的数码的个数进位计数制的表示方法假设有一数值NN=(dn-1dn-2……d1d0d-1……d-m)rN=dn-1rn-1+dn-2rn-2+……d1r1+d0r0+d-1r-1+……+d-mr-mr:基值di:系数r:为权数m,n:正整数,分别表示小数位和整数位例2-1-1(43863.57)十=4*104+3*103+8*102+6*101+3*100+5*10-1+7*10-2二进制权数:2n-1,2n-2…………系数:0,1基数:r=2表示方法:在数字的末尾加上一个字母B例如:331.25=101001011.01B注:十进制数在数字的末尾加上一个字母D十进制二进制十进制二进制00000501011000160110200107011130011810004010091001十进制和二进制之间的对应关系例2-1-2=1*28+1*27+1*26+1*25+0*24+0*23+1*22+1*21+0*20(111100110)二二进制数的优缺点优点二进制数便于物理元件的实现二进制数运算简单二进制数使用器材少便于实现逻辑运算缺点代码冗长不便阅读八进制(Octal)和十六进制(Hexadecimal)八进制权数:8n-1,8n-2系数:0,1,2,3,4,5,6,7基数:r=8表示方法:在数字的末尾加上一个字母O例如:331.25=513.2O十进制和八进制之间的对应关系十进制八进制十进制八进制006611772281033911441012551113例2-1-3例2-1-4(647.32)八=6*82+4*81+7*80+3*8-1+2*8-2=(423.40625)十(101000111001)二5071=(5071)八=(2617)十十六进制权数:16n-1,16n-2,…………系数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F基数:r=16表示方法:在数字的末尾加上一个字母H例如:331.25=14B.4H十进制十六进制十进制十六进制十进制十六进制006612C117713D228814E339915F4410A16105511B1711十进制和十六进制之间的对应关系例2-1-5(101000111000)二A38=(A38)十六2.1.2不同计数制之间的转换各种数制转换成十进制按“权”转换法例2-1-6:将(11011.11)二转换成十进制数解:(11011.11)二=1*24+1*23+0*22+1*21+1*20+1*2-1+1*2-2=16+8+0+2+1+0.5+0.25=(27.75)十例2-1-7将(732.6)八转换成十进制数解:(732.6)八=7*82+3*81+2*80+6*8-1=448+24+2+0.75=(474.75)十基值重复相乘(相除)法整数的基值反复相乘法设N是一个四位的二进制数N=d323+d222+d121+d020=(d322+d221+d1)*2+d0=[(d3*2+d2)*2+d1]*2+d0运算步骤从最高为开始,将最高为乘以2,加上次高位,令结果为M1M1乘以2,加上第三位,令结果为M2M2乘以2,加上第四位,令结果为M3,按这种方法一直运算下去,加到最低位为止最后,所得到的结果就是转换的结果例2-1-8将(101101)二转换成十进制数解:M1=1*2+0=2M2=2*2+1=5M3=5*2+1=11M4=11*2+0=22M5=22*2+1=45(101101)二=(45)十小数的基值反复相除法设N为四位的二进制小数则N=d-12-1+d-22-2+d-32-3+d-42-4=2-1{d-1+2-1[d-2+2-1(d-3+2-1d-4)]}运算步骤从最低位开始,将最低位除以2,加上次低位,令结果为R1R1除以2,加上第三低位,令结果为R2R2除以2,加上第四低位,令结果为R3,一直进行到小数点左边的0为止所得到的十进制小数就是所要求的结果例2-1-9将N=(0.1011)二转换为十进制小数解:R1=(1/2)+1=1.5R2=(1.5/2)+0=0.75R3=(0.75/2)+1=1.375N=(1.375/2)+0=0.6875(0.1011)二=(0.6875)十例2-1-10将N=(632.43)八转换为十进制小数解:(1)整数部分M1=6*8+3=51N整=51*8+2=410(632.43)八=(410.546875)十(2)小数部分R1=(3/8)+4=4.375N小=(4.375/8)+0=0.546875将十进制数转换成其它进位制数将十进制数转换成二进制数整数部分的转换小数部分的转换ExampleExample例2-1-11求十进制数43的二进制表示解:除以2商Qi余数di43/221d0=121/210d1=110/25d2=05/22d3=12/21d4=01/20d5=1低高即(43)十=(101011)二例2-1-12求(0.6875)十的二进制小数值解:乘以2得小数Fi整数di0.6875*20.3750d-1=10.3750*20.7500d-2=00.7500*20.5000d-3=10.5000*20.0000d-4=1低高即(0.6875)十=(0.1011)二如果小数Fi永远不为0,怎么办?例2-1-13求(0.423)十的二进制小数值(精度为2-5)解:乘以2得小数Fi整数di0.423*20.846d-1=00.846*20.692d-2=10.692*20.384d-3=10.384*20.768d-4=0低高即(0.423)十=(0.01101)二0.768*20.536d-5=1…………………………将十进制转换成其它进位制数例2-1-14将(0.6328125)十转换成八进制数解:乘以8得小数Fi整数di0.6328125*80.0625000d-1=50.0625000*80.5000000d-2=00.5000000*80.0000000d-3=4低高即(0.6328125)十=(0.504)八例2-1-15将(3952)十转换成十六进制数解:除以16商Qi余数di3592/16247d0=0247/1615d1=715/160d2=F低高即(3952)十=(F70)十六二进制与八进制、十六进制数之间的转换二进制--〉八进制1101110010.011001010002651213(1562.312)八二进制十六进制1101110010.0110010100(372.65)十六37265真值与机器数真值:用“+”,“-”来表示符号“正”、“负”的二进制数机器数:用“0”,“1”来表示符号“正”、“负”的二进制数01011符号数值部分小数点位置11011符号数值部分小数点位置2.2机器内数据及符号的表示方法数据编码根据用途不同:原码、补码、反码为了方便人机交互有权码:8421码、2421码、5421码……无权码:余3码、格雷码……检测能力的数据编码:奇偶校验码、五中取二码纠错能力的数据编码:汉明码、倍数正误码数字、字母、字符编码:ASCII码、EBCDIC码、汉字编码带符号数与不带符号数0000000011111111数值位不带符号数表示范围:0----255表示范围:0----1270000000001111111数值位带符号数符号表示范围:-1-----1271000000111111111数值位带符号数符号2.2.1数的符号与小数点的表示定点与浮点表示定点数纯小数:小数点固定在符号位之后,如1.1010111,此时机器中所有的数都是小数。纯整数:小数点固定在最低位之后,如11010111.,此时机器中所有的数都是整数。SfS1S2S3S4符号数值部分小数点位置SfS1S2S3S4符号数值部分小数点位置例2-2-1(329.625)十(.101001001101)二(54.75)十(.11011011)二+相等?(101001001101.)二(11011011.)二(384.375)十(1.011111111101)二(101100101000.)二添加比例因子例2-2-2求329.625D和54.75D之和解:329.625D=101001001.101B54.75D=110110.11B用比例因子23分别乘两数可得:101001001101.000110110110.求和:110000000011.将求和的结果除以23:110000000.011384.375D浮点表示法为什么要用浮点表示法计算机处理的数据不一定是纯小数或者纯整数如:圆周率3.1415926有些数据的数之范围相差很大,不能用定点小数或者定点整数表示,但均可用浮点整数表示。如:电子的质量9*10-28克352.47=3.5247*102=3524.7*10-1=0.35247*103………………………………………数学表示N=S*rjr:基值j:r的指数S:N的有效数字N=S*2jj:r的指数S:浮点数的尾数对二进制而言:N=11.0101=0.110101*210=1.10101*201=1101.01*2-10=0.00110101*2100……………………………10,01,-10,100表示的是什么?一定要注意:这是二进制的表示方式,基数为2,有效数字和指数都要用二进制表示浮点机中数的表示形式jfj1j2j3…jmSfS1S2S3S4S5S6S7…Sn阶符阶值尾符尾数尾数:表示了数的精度,位数越多,精度越高阶值:表示了数的表示范围,位数越多,表示范围越大机器字长一定,如何提高浮点数的表示精度?0.000010101如何用最少的位数表示该数?规格化规格化数非规格化数如果尾数的第一位有效数字是1时,该数即是规格化的数。例如:1.10101110.1010001如果尾数的第一位有效数字是0时,该数即是非规格化的数。例如:1.0010101110.0010100010.1|S|1例2-2-3将N1=11.0101表示成浮点数例2-2-4将N2=0.00110101表示成浮点数00100110101解:N1=11.0101=0.110101*210解:N1=0.00110101=0.110101*2-10尾数取6位,阶值取3位,阶符和尾符各取1位10100110101定点表示法与浮点表示法的比较数的表示范围假设机器的字长为8位SfS1S2S3S4S5S6S7小数定点机浮点机jfj1j2SfS1S2S3S40.0000001------0.11111111/128------127/1280.0001*2-11------0.1111*2+111/128------7(1/2)浮点数的表示范围要远远大于定点数的表示范围数的精度浮点数为规格化数时,它的精度远远大于定点数的精度数的运算定点数运算速度快浮点数要对尾数和阶码分别进行运算,而且运算结果要求规格化,所以运算步骤较多,运算速度不如定点数快溢出处理定点数对本身数值进行判断。如小数定点机中的数的绝对值必须小于1,否则为“溢出”浮点数主要对阶码进行判断,下溢:当浮点数阶码小于最小阶码时,称为“下溢”,这时,溢出的数的绝对值很小,机器按0处理。此时机器可以继续运行上溢:当浮点数阶码大于最大阶码时,称为“上溢”,此时机器停止运算,进行中断溢出处理。原码为了表示数的符号,可在数的最高位之前增设一位符号位,符号位为0表示正数,符号位为1表示负数,这样规定的二进制码,我们称为原码。例如
本文标题:第二章 电子计算机中信息的表示及其运算
链接地址:https://www.777doc.com/doc-3222613 .html