浮点型
IEEE浮点标准用V=(-1)s×M×2E表示一个浮点数。
符号s决定该数为正数还是负数
尾数M是二进制小数
阶码E作用是浮点数加权
![单精度与双精度](/2021/04/09/Float/20201102000632669.png)
更具exp阶码值划分三种情况:
1)规格化
2)非规格化
3)特殊值
1.规格化:
当exp不全为0或全为1时为规格化。阶码字段被解释偏置形式表示的有符号整数。阶码E=e-Bias。e是无符号数,Bias=2k-1-1(单精度127,双精度1023)。产生指数范围(单精度-128~127,双精度-1024~1023)。
小数字段frac被解释为小数值f(0<=f<1),二进制表示为0.fn-1…f1f0,位数定义为M=1+f。这种方式隐式以1开头的表示。
2.会规格化:
当exp全为0时,所表示数是非规格化形式。阶码值E=1-Bias,尾数值M=f,不包含隐含的开头1。
3.特殊值:
当阶码全为1时出现。小数域全为0,表示无穷,当s=0正无穷,s=1负无穷。小数域非零时,称为”NaN“不是一个数“Not
阿 Number”。
例子(1个位符号位,2个阶码位,2个小数位):
位 | e | E | 2E | f | M | 2E×M | Value | 十进制 |
---|---|---|---|---|---|---|---|---|
0 01 00 | 1 | 0 | 1 | 0/4 | 4/4 | 1 | 1 | 1 |
0 10 01 | 2 | 1 | 2 | 1/4 | 5/4 | 10/4 | 2.5 | 2.5 |
0 00 01 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0.0 |
0 00 10 | 0 | 0 | 1 | 1/2 | 1/2 | 1/2 | 1/2 | 0.5 |
0 11 00 | —— | —— | —— | —— | —— | —— | +∞ | —— |
0 11 10 | —— | —— | —— | —— | —— | —— | NaN | —— |