|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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位
这样不是很矛盾。。。 到底是怎么一回事
还有取值范围是如何计算的。
求大牛赐教 这样理解是否正确!
|
|