浮点型数据的存储

数据的存储是以二进制的形式进行的,存储的是二进制数,不是十进制的数。

例如

计算机在存储的时候存储的都是二进制数字,对应的是计算机参数的32位和那个64位

这个函数首先把n为9的二进制数存进计算机,int n=9 ,9的二进制数1001, 存储形式00000000000000000000000000001001,十六进制形00000009

再把n的二进制数强制转换成浮点型的存储在*pfloat,float*pfloat=(float*)&n, 把n的二进制存储在指针当中,n被强制类型转换

此时计算机中存储的二进制数没有发生改变

打印的时候,%d是10进制的形式打印,打印的是9 ,n

打印*p打印的是浮点型数据,它的打印方式和%d不同,它的存储形式

所以转换成十进制是0.000000000000001001*(2^-126)约等于0,打印前6位数就是0.

第二行,浮点型指针存储的是9.0

9的二进制科学计数法为1.001^2^3

E在存储的时候指数为有加127,存储在计算机当中的E为130,10000010

改成存储在计算机当中的的二进制数是,

0 10000010 00100000000000000000000000

打印%d是正数打印,符号位为0,表示是正数,次二进制数就是表示正数的二进制的数,换成十进制是一个很大的数。

打印*p就是打印9.000000.他就是按照浮点型进行存储的,打印的也就是浮点数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值