您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第2章 计算机中数据信息的表示和运算-浮点表示
课堂练习1、已知[X]补=1.1010,求X=?[X]原=?[X]反=?[X]移=?2、求以下各机器数的十进制真值:-0.01101.01101.10010.1010[X]原=1,0000000,则X=?[X]补=1,0000000,则X=?[X]反=1,0000000,则X=?[X]移=1,0000000,则X=?[X]原=1,1101,则X=?[X]补=1,1101,则X=?[X]反=1,1101,则X=?[X]移=1,1101,则X=?[X]原=0,1000,则X=?[X]补=1,1000,则X=?[X]反=0,1000,则X=?[X]移=0,1000,则X=?X=-0X=(-128)10X=(-127)10X=0X=-1101BX=-0011BX=-0010BX=+1101BX=+1000BX=-1000BX=+1000BX=-1000B例:已知:X=0.1011Y=-0.0101求:[X/2]补,[X/4]补,[Y/2]补,[Y/4]补[Y]补=1.1011[Y/2]补=1.11011[Y/4]补=1.111011[X]补=0.1011[X/2]补=0.01011[X/4]补=0.001011十进制数的科学表示法(scientificnotation)例如:156,000,000=1.56*108-0.000,000,28=-0.28*10-6二进制的科学记数表示法,即:小数点的位置根据需要而浮动,这就是浮点数。四、浮点机器数的表示方法1、浮点数的一般形式N=+/-RExM其中,N:要表示的浮点数的真值;R(Radix):基数为2的整数次幂,常取2;M(Mantissa):尾数,一般为定点小数;E(Exponent):阶码,一般为定点整数。Mf:表示浮点数的正负阶码E1..m阶符Ef尾数M1..n尾符Mf1、浮点机器数的格式可见,一个浮点数在机器中是用两个定点数来表示的。例:[N]补=1101;1.110101N=-2(-0011)*0.001011即:N=-0.0000010111、浮点机器数的格式浮点数可以表示成多种形式:0.11026=1.1025=0.00011029……为了简化浮点数的操作,需要对其进行规格化,规格化后的浮点数具有下列形式:±0.1bbb…bb*R±E2、浮点机器数的规格化表示若上述浮点数N的尾数M在如下范围内1/R≤|M|1(1/2≤|M|1)则N叫做规格化的浮点数,一般机器中以此形式存储、运算。在字长一定的情况下,规格化的浮点数精度最高。数值范围:一种数据类型所能表示的最大值和最小值数据精度:实数所能表示的有效数字位数。2、浮点机器数的规格化表示规格化方法:调整阶码使尾数满足下列关系:尾数为原码表示时,无论正负应满足1/2|M|1即:小数点后的第一位数一定要为1。正数的尾数应为0.1x….x负数的尾数应为1.1x….x尾数用补码表示时,小数最高位应与数符符号位相反。正数应满足1/2≦M1,即0.1x….x负数应满足-1/2M≥-1,即1.0x….x(M=-1/2除外)2、浮点机器数的规格化表示例:设某机器用32位表示一个实数,阶码部分8位(含1位阶符),用定点整数补码表示;尾数部分24位(含数符1位),用规格化定点小数补码表示,基数为2。解:Y=-(256.5)10=-(100000000.1)2=-0.1000000001x2+9求Y=-256.5的浮点表示格式8位阶码为:E补=(+9)补=0000100124位尾数为:M补=(-0.1000000001)补=1.01111111110000000000000所求-256.5的浮点表示格式为:00001001101111111110000000000000用16进制表示此结果则为:(09BFE000)16求Y=-256.5的浮点表示格式(cont.)练习:将X=-19/64表示成浮点规格化数(阶码3位,阶符1位,尾数7位,尾符1位),阶码采用原码,尾数用规格化,用补码的形式表示。定点数:[X]补=1.1011010;X=-19/64=(-10011*2-110)2=-0.010011=2-01*-0.10011E=-01,E原=1001;M=-0.1001100,M补=1.0110100浮点数:1,001;1.0110100(用16进制表示此结果则为:9B4H)练习:一浮点数的阶码为6位(包括一位阶符),尾数为10位(包括一位数符),阶码与尾数均采用补码表示,阶码的底为2。写出X与Y的规格化浮点数。(1)X=-123.25(2)Y=34/128(1)X=(-123.25)10=(-1111011.01)2=-0.111101101×2+7EX=+7=(+00111)2,MX=-0.111101101[EX]补=000111,[MX]补=1.000010011则:[X]浮=1000111000010011(2)Y=(34/128)10=(0.010001)2=0.10001×2-1EY=-00001,MY=0.100010000[EY]补=111111,[MY]补=0.100010000则:[Y]浮=0111111100010000例:32位浮点二进制数,8位为补码表示的阶码,24位(含1位符号位)为补码表示的规格化尾数,试指出它所表示的最大正数与最小正数数据格式。最大正数:011111110.111…11最小正数:100000000.100…00定义:设定点整数移码序列XnXn-1……X0,则,[X]移=2n+X2nX≥-2n即无论X是正还是负,一律加上2n,称2n为基数移码就是在真值X上加一个常数(偏置值),相当于X在数轴上向正方向平移了一段距离,这就是“移码”一词的来由。[X]移=偏置值+X传统上,对于字长8位的定点整数,偏置值为27。在IEEE754中,偏置值为(27-1)3机器数的移(增)码表示法例1:X=1011101[X]移=27+X=10000000+1011101=11011101[X]补=01011101例2:X=-1011101[X]移=27+X=10000000-1011101=00100011[X]补=101000113机器数的移(增)码表示法开发该标准是为了程序从一个处理器移植到另一个处理器。IEEE标准定义了32位的单精度和64位的双精度两种格式。它们的指数段分别为8位和11位,隐含的基值是2。数符号位阶码尾数(23)0189310111126311位阶码52位尾数4IEEE754浮点数标准4IEEE754浮点数标准根据IEEE754国际标准,常用的浮点数格式有3种,阶码的底隐含为2。短实数又称为单精度浮点数,长实数又称为双精度浮点数,临时实数主要用于进行浮点数运算时保存临时的计算结果。数据类型总位数尾数位数阶码位数短实数32248长实数645311临时实数806515•S:浮点数的符号位,0表示正数,1表示负数•M:尾数,用原码定点小数表示,小数点放在尾数域的最前面,且小数点前面隐含一位1•E:阶码,用移码来表示,偏置常数为127(单精度)或1023(双精度)4IEEE754浮点数标准•真值为:•(-1)s*1.M*2E-127•或(-1)s*1.M*2E-1023。4IEEE754浮点数标准例1:若浮点数X的754标准存储格式(41360000)16,求其浮点数的十进制数值。解:将16进制数展开后,可得到二进制格式:01000001001101100000000000000000e=E-127=10000010-01111111=00000011=3包括一位隐含位的尾数1.M=1.01101100000000000000000=1.011011于是:X=(-1)s*1.M*2E-127=+(1.011011)*23=+1011.011=11.375例2:将数(20.59375)10转换成754标准的32位浮点数二进制存储格式。解:首先转换为二进制数20.59375=10100.10011移动小数点,使其在1,2位之间10100.10011=1.010010011*24,e=4于是:S=0,E=4+127=131,M=010010011于是得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16定义:当一个浮点数的尾数为0,不论阶码为何值,或者当阶码的值比能表示的最小值还小时,不论尾数为何值,都把浮点数看作零。例:阶码,尾数都用补码表示时:1000000000000000000000000000000当采用移码表示时:0000000000000000000000000000000与定点数判别“0”一致。5机器零作业—浮点数将下列数据表示成浮点二进制数,其中阶码为8位补码表示(含1位符号位),尾数为16位(含1位符号位)补码规格化形式:+98.25,-24.625,+2047第五周---浮点数(2)将下列数据表示成IEEE754标准的32位浮点规格化数:27/64-27/64IEEE754格式参数参数单精度双精度字宽(位数)3264指数宽(位数)811指数偏移1271023最大指数1271023最小指数-126-1022数的范围10-38,10+3810-308,10+308有效尾数2352指数数目2542046分数数目223252值的数目1.98*2311.99*263定点数的表示范围一个字长为32位的定点整数机器,最高位为符号位,机器中的数采用补码表示形式,则该机器所能表示的数的范围如下:-2310231-1数轴浮点数的表示范围32位字长的机器中,数采用浮点表示,符号位占1位,尾数位占23位,阶符占1位,阶码占7位。阶码用移码表示,尾数用原码表示,采用规格化浮点数表示形式,则其表数范围:-1*2127-0.5*2-12800.5*2-128(1-2-24)*2127负上溢可表示的负数负下溢正下溢可表示的正数正上溢-+[例]以定点整数为例(机器字长n+1位),用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。解:原码、反码、补码表示分别示于下图。与原码、反码不同,在补码表示中“0”只有一种形式,且用补码表示负数时范围可到-2n。11...110...0110...000...000...0101...1-(2n-1)-10+1+(2n-1)原码10...011...1011...100...000...0101...1-(2n-1)-10+1+(2n-1)反码10...010...0111...100...000...0101...1-2n-(2n-1)-10+1+(2n-1)补码
本文标题:第2章 计算机中数据信息的表示和运算-浮点表示
链接地址:https://www.777doc.com/doc-3678146 .html