浮点数在内存中的存储

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文主要讲述浮点型的存储,它与整形的在内存中的存储方试差别较大,所以,这里最好不要带着整形的那个思路去理解本文的内容

一、浮点型是什么?

在计算机系统的发展过程中,曾经提出过多种方法表示实数,但是到为止使用最广泛的是浮点表示法。相对于定点数而言,浮点数利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。

二、存储方式

根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式:
(-1)^S * M * 2^E
(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。
M表示有效数字,大于等于1,小于2。(换算成二进制的数字只有0/1所以1≤M<2)
2^E表示指数位。

这里要提一下二进制的小数位,小数点后一位的权重是二的负一次方,后两位为二的负二次方,以此类推。小数点左移以为要*2,小数点右移一位要/2.
这里举例1010.1 用科学计数法,小数点要左移三位,于是就可以写成 1.0101*2^3
ok,那么接下来就好容易理解这个国际标准在讲什么了,(-1)^S是在确定正负,M在这里就相当于1.0101 而E就是指数3了。OKOK,这样就完美解决二进制浮点数的基本表达了 这里的s m e 是变化的,所以将它们存储后,就可以代表着存储了一个二进制浮点数。
32位的浮点数的存储模型

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值