加载中…
个人资料
lbx6z
lbx6z
  • 博客等级:
  • 博客积分:0
  • 博客访问:554
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

规格化浮点数与非规格化浮点数

(2015-06-22 21:30:02)
标签:

计算机

分类: 学习
一直理得不是很清楚,今天整理一下http://www/uc/myshow/blog/misc/gif/E___6701EN00SIGG.gif
单精度浮点数:符号(1)+ 阶数(8)+ 尾数(23)= 32
双精度浮点数:符号(1)+ 阶数(11)+ 尾数(52)= 64
符号位:0表示正,1表示负
1、规格化浮点数
阶数:
+ 单精度:0000 0001 ~ 1111 1110
               - 表示指数范围:-126 ~ 127。
               阶数 - 127可得
+ 双精度:0000 0000 001 ~ 1111 1111 110
               - 表示指数范围:-1022 ~1023
               阶数 - 1023可得
—— 能否得到这样的规律,负的比正的小1(126 = 127-1)因为老是忘!
+ 尾数:
               - 由十进制->二进制,记得省掉第一个1
               - 由二进制->十进制,记得加上隐式的1即可。
2、非规格化浮点数
阶数:
+ 全零,表示接近0,指数仍然是-126,但是尾数不再包含隐式的1
+ 全1,尾数全0,表示无穷大
+ 全1,尾数不全0,表示NaN

== 举例(单精度) ==
1、规格化:11.375 = 1011.011(2) = +(1.011011) * 2^3
符号:0
尾数:1.011011,省掉第一个1,即为0110 11,扩充为23位,0110 1100 0000 0000 0000 000
阶数:指数为3,阶数为3+127 = 130 = 011 + 0111 1111 = 1000 0010
表示:0  1000 0010  0110 1100 0000 0000 0000 000

2、非规格化:0.3125*2^(-126) = 0.0101(2)*2^(-126)
观察:-126已经是最小指数;又,0.625<1,所以只能是非规格化
符号:0
尾数:0.0101,扩充为23位,0101 0000 0000 0000 0000 000
阶数:全0咯~(0-127+1,和规格化的不一样)
表示:0 0000 0000 0101 0000 0000 0000 0000 000



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有