鱼C论坛

 找回密码
 立即注册
查看: 4648|回复: 1

关于实型数据在内存中存放的疑问。

[复制链接]
发表于 2012-11-23 16:07:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 destiny 于 2012-11-25 12:19 编辑

实型数据占4个字节  左边第一位为符号位 接着的7位是小数部分  剩下的全是指数部分
123.1234  这样一个实数符号位为+   小数部分为  .1231234  指数部分为3
那么我可不可以这么理解   指数部分的数值是3  则小数部分的小数点向右移动3位,
移动3位等于该数值乘于1000 ,.1231234X1000=123.1234
指数部分为N。则小数部分的小数点则向右移动N位。。。

那么一个实数-0.123456  这个数的存储形式是如何的呢
按照上面的形式
符号位-   小数部分.123456     指数部分的符号位应该为负吗? 指数的数值应该是1吗?  
因为它要向左移动1位,该数值乘于-10(-10等于0.1)。。。
.123456X-10=0.123456  

我在百度上搜索float的取值范围,人家都写的是

float和double的范围是由指数的位数来决定的。
  float的指数位有8位,而double的指数位有11位,分布如下:
  float:
  1bit(符号位) 8bits(指数位) 23bits(尾数位)
  double:
  1bit(符号位) 11bits(指数位) 52bits(尾数位)
那么书上写的 符号位    小数部分   指数部分
                        1位           7位         24位

这样不是很矛盾。。。  到底是怎么一回事
还有取值范围是如何计算的。
求大牛赐教 这样理解是否正确!

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-11-23 16:52:13 | 显示全部楼层
详见IEEE 754 标准
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-16 12:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表