IEEE浮点标准:V=(-1)^s*M*2^E
1.符号(sign)s决定这个数是负数(s=1)还是正数,0(s=0)。
2.尾数(significand) M是一个二进制小数.
3.阶码(exponent)E对浮点数加权。
单精度,双精度的表示如下:
exp为阶码,frac为尾数
给定了位表示,根据exp的值,被编码的值可以分为三种情况:
规格化的表示一般的数,非规格化的表示靠近0的数或0,阶码都为1的,当尾数为0时表示无穷大(即溢出),阶码都为1的,当尾数不为0时表示不存在的数,例如-1开根号之类的。
规格化的数阶码字段被解释为以偏置(biased)形式表示的有符号整数。其实就是一个无符号数e,在进行运算时将E=e-Bias,Bias为偏移量(2^(k-1)-1)。小数字段frac表示为0<frac<1
,小数点前的1默认存在不写,尾数M=1+frac。
非规格化的数,阶码全为0,阶码值为E=1-Bias,这是为了让数从非规格化的数到规格化的数(开始也为1-Bias)时能平滑转换。
无穷大,阶码全1,小数全0。s=0时,表示正无穷,s=1时,表示负无穷。也可