C中的浮点数怎么在计算机中表示

北京中科医院是怎么样 http://www.xxzywj.com/

这里我们以8.25这个数为例说明计算机时如何存取float类型的数据的:

floata=8.25;

1.引言

1.所占位数

首先,明确一个概念,float类型的数据在常规计算机中通常占4个字节,也就是2位。其内存分布如图:

2.科学计数法

在十进制中,我们了解科学计数法。

例如,的科学计数法表述为:8.25*,0.0的科学计数法表述为:8.25*10(-2)

请注意观察这一点:整数部分的值是大于1小于10的。后面的指数部分也有正指数和负指数。

2.计算步骤

1.二进制表示

将8.25用二进制数表示出来:

首先:整数部分为8,二进制表示为;

其次,小数部分为0.25,为二进制表示计算方法和整数部分的计算方法恰恰相反,整数部分转换二进制的时候是不断除以2得到的,这里就是不断乘以2:

0.25*2=0.5,整数部分为0,记下:0

0.5*2=1.0,整数部分为1,记下:1

则0.25的二进制表示即为0.01,即1*2^(-2);

在这一阶段,我们得出结果:8.25的二进制表示为:.01

2.使用科学计数法来表示

在引言里介绍了十进制的科学计数法,同理我们推理出二进制的科学计数法:

8.25的二进制表示为:.01;

.01的二进制科学计数法表示为:1.*2^

请根据引言中的注意事项,可以推理出:在二进制的科学计数法中:整数部分的取值只能是1,是个固定值。

因此在表示中可以直接把这一步写死,根本不需要去表示整数部分。

.转化为计算机存储数据

1.*2^

在引言里,我们已经知道了浮点数在计算机中的表示方法,套用这套表示方法,我们可以知道:

符号位:

8.25是一个正数,因此这位为0.

指数位:

指数位为+,所以这里的值为+=10,10的二进制表示为0010,因此这里为0010。

尾数位:

小数位为,这里尾数位占用2个字节,位数不够,所以补0,因此这里为:后面补18个0。

.得出结论

浮点数8.25在计算机中的二进制表示为:0000




转载请注明:http://www.aierlanlan.com/grrz/5249.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了