网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

浮点数的存储形式

float在内存中的存储形式:

成都创新互联公司从2013年创立,是专业互联网技术服务公司,拥有项目成都做网站、成都网站制作、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元巫溪做网站,已为上家服务,为巫溪各地企业和个人服务,联系电话:13518219792

先看下面一道例题:

 

                 float *p = (float *)#

                printf( "num=%d\n", num);

                printf( "*p=%d\n", *p);


                *p = 5.0;

                printf( "num=%d\n", num);

                printf( "*p=%f\n", *p);

浮点数的存储形式

浮点数的存储形式

这是因为float在计算机中的存储形式与int存储形式不同造成的:

对于float类型:

浮点数的存储形式

浮点数的存储形式

例如:5.0(101)在内存中的存储形式是

             5.0=(-1)^0*(1.01)*2^2


          0 10000010 01000000000000000000000


有没有对指数位E感到奇怪呢?因为E占有8个bit位,取值范围是0-255,取不到负数,所以我们给E加上一个127再存到指数位中。这样就可以取到

负数。当我们读取这个时给E减去127就行了。


当E为全0时,表示一个接近0的数,因为E为全0时,M将不再加1,m为0.xxxxxxx...的形式,浮点数的指数为1-127,是一个非长小的数。

当E为全1时,如果M为全0,则表示一个正负无穷大的数。



现在对于上面的例题清楚了吧,同一个数分别以float和int的形式去看,看到的结果是不同的。



对于double形式,是一样的,只不过double是8个字节,64个bit位,所以double的指数位是11位(要加一个1023),有效位是52位。


文章标题:浮点数的存储形式
路径分享:http://bjjierui.cn/article/pcssse.html

其他资讯