首页 > 编程知识 正文

单精度浮点数表示方法,二进制浮点数表示方法举例

时间:2023-05-03 22:34:57 阅读:153743 作者:2261

在计算机的一个存储单元中分别显示一个数的有效数字和数的范围。 这种分别表示整数范围和精度的方法被称为浮点表示法,因为相当于整数的小数点位置可以通过比例因子在一定范围内自由浮动。

计算机中的任意二进制数n可以写成N=2^e.M

其中,m被称为浮点数的尾数,是纯小数。 e是一种比例系数指数,称为浮点数指数,是整数。 比例系数基数二比二进制的机器是常数。

在机器中表示浮点数时,一种是把尾数拿出来,用定点小数的形式表示。 因为尾数部给出有效数字的位数,所以浮动小数点数的显示精度决定。 二是给出指数,用整数表示。 经常被称为楼层代码。 阶码表示数据中小数点的位置,决定浮点数的表现范围。 浮点数也需要符号位。

根据IEEE754标准,32位浮点数和64位浮点数的标准格式为

不管是32位浮点数还是64位浮点数,基数2都是固定常数,并且对于每个浮点数是相同的,因此不必将其表示为表示。

在32位浮点数中,s在浮点数的符号比特中占1位,配置在最上位,S=0表示正数,S=1表示负数。 m是尾数,位于低位部分,占23位,小数点位置位于尾数域的最左(最高)有效位的右侧。 e是楼层代码,占用8位。 层码用隐式方式,即符号移动的方法表示正负指数。 代码移动方法比较方便比较两个指数的大小和层次操作,因为层次代码域值大的人指数值也大。 当采用该方式时,将浮点数的指数真值e变换为次数代码e时,应该对指数e加一定的偏移值127(0111111 ),即E=e 127。

为了提高数据的显示精度,如果尾数的值不为0,则尾数字段的最高有效位必须为1,这被称为浮点数的归一化显示。 否则,通过在修改步骤代码的同时左右移动小数点位置,形成正规化函数。

在IEEE754标准中,归一化的32位浮点数x的真值表示为

x=(-1 ) ) sx )1.m ) x2 ) (e-127 ) ) ) ) ) ) ) ) ) ) ) )。

e=E - 127

尾数表示的值为1.M。 由于规范化浮点数的尾数字段的最左位(最高位)始终为1,所以该位数始终不被存储,被认为隐藏在小数点的左侧。 因此,24位有效数字可以存储在23位字段中。

64位浮点数中的符号位1位,阶码字段11位,尾数字段52位,植树偏移值为1023。 因此,标准化的64位浮点数x的真正值是

x=(-1 ) sx )1.m ) x2^(e-1023 ) ) ) ) ) ) ) ) ) ) )。

e=E - 1023

例题

1. 问题:浮点数x的754标准存储格式为(41360000 ) 16的情况下,求出该浮点数的十进制值。

解:展开十六进制时,得到的二进制格式为

指数e=订单代码- 127=10000010-01111111=0000011=(3) 10

包含隐藏位1的尾数1.m=1.0110110000000000000=1.011011

就在那里

x=(-1 ) sx1.mx2 ) e=) 1.011011 ) x2^3=1011.011=) 11.375 ) 10

2. 问题:将数字(20.59375 ) 10转换为754标准的32位浮点数二进制存储格式。

解:首先将整数部分和小数部分分别转换为二进制。

20.59375=10100.10011

然后将小数点移动到第1、2位之间

10100.10011=1.010010011 X 2^4 e=4

在那里得到

S=0,E=4 127=131,M=010010011

最后得到的32位浮点数的二进制存储格式为

0100001101001001001100000000000000=(41a4c 000 ) 16

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。