浮点表示法的范围怎么计算 - 图文

更新时间:2023-10-27 13:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2.浮点数表示法?小数点的位置可按需浮动, 这就是浮点数。例如:?N=rE〃M?式中, r为浮点数阶码的底, 与尾数的基数相同, 通常r=2。E和M都是带符号的定点数, E叫数N的阶码(Exponent),M为数N的有效数字, 称为尾数(Mantissa)。在大多数计算机中, 尾数为纯小数, 常用原码或补码表示;阶码为纯整数, 常用移码或补码表示。?计算机中, 通常用约定的4部分来表示一个浮点数:其中,Ef、S分别称为阶码E和尾数M的符号位。EESMf?按照IEEE754标准,常用的浮点格式如图3-4所示。?ms尾符E阶码部分用移码表示m尾数数值位尾数部分,用原码表示图3-4 IEEE 754标准的浮点格式2.浮点数表示法??IEEE 754标准中有三种形式的浮点数, 格式见表3-1。短浮点数即单精度浮点数,长浮点数即双精度浮点数, 都采用隐含尾数最高数位的方法, 故增加了一位尾数。临时浮点数又称扩展精度浮点数,无隐含位。短浮点数:最高位为数符位;其后是8位阶码, 以2为底, 用移码表示, 阶码的偏移值为127(叫移127码); 其余23位是尾数的数值位。对规格化的二进制浮点数,约定最高位总是“1”,为使尾数能多表示一位有效值,可将这个“1”隐含, 故尾数数值实际上是24位, 即1位隐含位加23位小数位。表3-1 IEEE 754标准中的三种浮点数类型短浮点数长浮点数临时浮点数数符111阶码81115尾数位235264总位数326480偏置值7FH(127)3FFH3FFFH?短浮点数的移码的偏置值是127(3FH);长浮点数的偏置值是1023(3FFH)。根据移码的定义,存储浮点数阶码部分之前,偏置值要先加到阶码真值上。注意:隐含的“1”是一位整数(即位权为20),在浮点格式中表示出来的23位尾数是纯小数,用原码表示.如(12)10=(1100)2,将它规格化为1.1×23,其中整数部分的1将不存储在23位尾数内.浮点数举例?例3.20: 将(100.25)10转换成短浮点数格式。?解: (1)把十进制数转换成二进制数?(100.25)10 =(1100100.01)2(2)规格化二进制数?1100100.01=1.10010001×2 6110(3)计算出阶码的移码(偏置值+阶码真值)?1111111(127H)+110 =10000101?注意:短浮点数的阶码偏置值是1111111(127H)。(4)以短浮点数格式存储该数?该数的符号位=0 ,阶码=10000101?尾数=10010001000000000000000 23位?所以(100.25)10的短浮点数代码为?0;10000101;10010001000000000000000十六进制值是42C88000H。浮点数举例例3.21:将短浮点数C1C90000H转换成十进制数。?解:(1)把十六进制数转换成二进制形式,并分离出符号位、阶码和尾数?因为,C1C90000H=11000001110010010000000000000000B?所以,符号位=1?阶码=10000011(用黑体字表示)8位?尾数=10010010000000000000000 23位?(2)计算出阶码的真值(即移码-偏置值)?10000011-1111111=100?(3)以规格化二进制数形式写出此数?1.1001001×24?(4)写成非规格化二进制数形式?11000.001?(5)转换成十进制数,并加上符号位?(11000.001)2=(25.125)10??总结:IEEE754短浮点数规格化的数值v表示为v=(-1)S×(1.f)×2 E-127,式中,S代表符号位,S=0表示正数,S=1表示负数;E是用移码表示的阶码;f是尾数的小数部分。浮点数举例?例1:求十进制数-5的单精度浮点数IEEE754代码。?11000000101000000000000000000000?解: -5=-101B=-1.01×22,阶码E=127+2=129=10000001B?IEEE754代码是1 10000001 01000000000000000000000?例1:求十进制数0.15625的单精度浮点数IEEE754代码。?解: -0.15625=-1.01×2-3,阶码E=127-3=124=01111100B?IEEE754代码是1 0111110001000000000000000000000?↑关于模?1.计算机本身是一个模数系统?因为机器字长有限,当计算结果的位数超过机器字长时,向更高位的进位就会丢失, 这就是机器的模。?2.对n+1位的定点小数, XS . X1X2…Xn,符号位XS的位权是20,符号位向更高位的进位要丢失, 所以定点小数的模是20=1n?3.对n+1位的定点整数, XS X1X2…Xn, 符号位XS的位权是2,符号位向更高位的进位要丢失, 故定点整数的模是2n+1。?4.原码与补码的区别?对正数, 两者完全相同;?对负数, 两者表示形式完全不同, 且补码要比原码多表示一个最负的数。原因是对于真值0,原码有两种表示方式,补码只有一种。关于原码与补码n=3时整数的补码?举例:字长为8位的二进制代码10000000, 若其为原码, 表示-0, 若其为补码, 则不再表示-0, 而表示绝对值最大的负数。此时,最高位的1有两个含义, 既代表负数, 又代表这一位的位权。若这是一个定点整数, 其值为-27=-128;若这是一个定点小数,其值为-20=-1。?结论:负数补码的表示范围比负数原码的表示范围略宽真值+000(+0)+001(+1)+010(+2)+011(+3)+000(+4)+101(+5)+110(+6)+111(+7)补码00000001001000110100010101100111真值-001(-1)-010(-2)-011(-3)-100(-4)-101(-5)-110(-6)-111(-1)-1000(-8)补码11111110110111001011101010011000定点小数的表示范围20 2-1 2-2 ……最大正数2-(n-1) 2-n011……20 2-1 2-2 ……000112-(n-1) 2-n01最小正数结论:1.最大正数的数值位部分全部为1,即最大正数=2-1+2-2 …+2-n=1-2-n100……00 20=1 最小正数的数值位最低位为1,即2-n-000……01 2-n011……11 1-2-n原码和补码表示的绝对值最大负数(定点小数)20 2-1 2-2 111……………………2-(n-1)2-n11原码表示的绝对值最大的负数补码表示的绝对值最大的负数20 2-1 2-2 1002-(n-1)2-n00结论:1.原码表示时,正数和负数的范围是对称的,故绝对值最大的负数等于正数值加上”-”号,其真值为-(1 -2-n)。2.补码表示的绝对值最大的负数等于-1。定点整数表示的最大正数与最小正数2n 2n-1 2n-2 011……21……1……21……0201201最小正数=1最大正数=2n-12n 2n-1 2n-2 000

本文来源:https://www.bwwdw.com/article/qhl2.html

Top