关于浮点数在计算机中的储存

float f = 1.3f;
那么它是如何储存在32计算机中的呢?
我们知道一个float占4个字节,也就是32位。且intel处理器是小端的。低位在高字节,高位在低字节。为了讨论方便,我们先求出1.3对应的浮点数的32bit的表示,然后再调换字节的顺序。

首先,将1.3转化为2进制:整数位就是正常求法,对于小数位,则是*2,如果大于1为1,小于1为0:1.010011001100110011001100110011……后面省略不写了。

其次,将其转化为以2为底的“科学计数法”:1.010011001100110011001100110011*2^0
其中0为指数,那一长串为底数。
有了这些准备,我们就可以操作了:
(1)在这32bit中,第一位是符号位0表示正数,1表示负数。我们这里为0.
(2)接下来的8位表示的是指数:使用实际的指数+127。我们这里为0+127=127=01111111
(3)剩下的23位表示尾数,我们就把01001100110011001100110照抄就行了。
合并起来就是:
00111111   10100110      01100110     01100110
前面提到过我们的电脑一般都是小端的,所以实际的存储顺序为:

01100110  01100110     10100110  00111111

我们会在以后的学习中用到这个知识。这里先记录下来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值