规格化浮点数与非规格化浮点数
(2015-06-22 21:30:02)
标签:
计算机 |
分类: 学习 |
一直理得不是很清楚,今天整理一下http://www/uc/myshow/blog/misc/gif/E___6701EN00SIGG.gif
- 表示指数范围: -126 ~ 127。
- 阶数 -
127可得
- 表示指数范围: -1022 ~1023
- 阶数 - 1023可得
- 由十进制->二进制,记得省掉第一个1
- 由二进制->十进制,记得加上隐式的1即可。
单精度浮点数:符号(1)+ 阶数(8)+ 尾数(23)= 32
双精度浮点数:符号(1)+ 阶数(11)+ 尾数(52)=
64
符号位:0表示正,1表示负
1、规格化浮点数
阶数:
+ 单精度:0000 0001 ~ 1111 1110
+ 双精度:0000 0000 001 ~ 1111 1111 110
—— 能否得到这样的规律,负的比正的小1(126 =
127-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
前一篇:linux命令