IEEE754浮点数标准相关
①浮点数值的分类(规格化…)
②如何从小数转换成浮点数
③最小不能精确表示的整数
定点表示法采用固定小数点的方式,在定点整数中省略末尾的小数部分,在定点小数中则将小数部分隐含于数据最左侧。该方法无法高效地表达数值极大的情况,例如数值如5 \times 2^{100}时,则需要将'1'后缀'100'个零以完成表示过程
浮点数表示法:类似于科学计数法的思想,在计算机中可以表示极大或者极小的数字,并且小数点的位置是不固定的。IEEE 754浮点标准:32位单精度型、64位双精度型以及128位三倍精度型。
符号S:判断正负。
阶码E被定义为双精度实数的赋权系数,在科学计算中通常表示为10的幂次方形式。
尾数M:表示浮点数中的有效位数

规格化
浮点数的尾数始终是规格化的,在规格化范围内从1.000…0*2^E到1.111…*2^E之间运行。这使得尾部的所有二进制位都有效,并保证了最大的精度水平。因此,在存储于内存时有f \neq M的关系成立:其中f表示的是M去掉最高位后的剩余小数值部分。而对于阶码字段e来说,则必须满足是一个大于零的二进制数值。这一设计的好处在于:当e取到最小负指数时(即最小值),此时阶码字段e会被编码为全零状态(即e=0),从而能够用尾部全零的状态来表示数值零;而当阶码字段e处于区间[ 9, 99 ]时,则代表了正指数的情况;而单精度型中采用的是偏置值编码方案:其中偏置值Bai被设定为常数值 97(此处可能应为"设置"而非"般");而实际存储于内存中的指数则通过将实际指数加上该偏置值得到:即 E = e - Bais_{\text{单精度}} = e - 97_{\text{单精度}}}$;这种编码方式的优势在于能够将指数范围均匀地分布在负指数组合正指数组合零的情况之中。

非规格化
若阶码域全部为0,则所表示的是非规格化的数值形式;此时有E=1-Bias。假设采用8位浮点格式,在这种情况下:符号位设置为1、阶码占用了4位、尾数部分占据3位,则偏置常数即偏置码应满足2^{4-1}-1=7;因此得到的结果是E=1-7=-6。与之相比,在规格化数值中E=-Bias时会存在跳跃现象,在本例中通过采用非规格化形式过渡至规格化数值时会更加平滑

特殊值
当阶码全部置1且小数全部为0时,在单精度浮点数体系中代表无穷大的数值。其中s=0对应正无穷大,s=1对应负无穷大.其二进制形式已达到最大容量.
当指数位全部为1但尾数值不为零时,在IEEE 754标准中我们将这种情况定义为非数值(NaN),这表示该数值无法被该标准所表示。
举个例子:
1.将十进制数4100.125转换成IEEE754下标准的32位单精度二进制浮点数
①十进制转二进制
4100=1000000000100,0.125=0.001
故4100.125=10000000001000.001
②将二进制数规格化
10000000001000.001=1.0000000001000001*2^{13}
S=0,M=0000000001000001,e=13+127=140(D)=10001100(B)
因此结果是0 10001100 000000000100000100000000
2.浮点数转十进制同理
按照IEEE 754标准的规定,在缺省情况下会将数值向最接近的一个可表示数值进行四舍五入选项处理。当某个数值与相邻两个可表示数值的距离相同时,则采用最低有效位为零的方式作为其近似值(即向偶数值进位)。此外还提供了另外三种不同的舍入选项

举例来说
运算
相乘

相加(不能直接相加),如下指数不齐的情况,为了对齐指数,需要:
1.找出指数较小的那个数。
2.使两个指数相同。
3.尾数相加或相减。
4.规格化结果。


因此最终结果是1.00001111*2^5
最小不能精确表示的整数
在表达式(−1)^S* 2^E*M中(其中M是一个具有小数点后共23位数字的小数值),其最小值为2^{-23}。假设指数E满足条件时(即当指数值不超过某个阈值时),每当M的小数点后位数增加一位时(每一次这样的增量操作),都可通过调整指数值来实现对应的幂次变化以满足特定关系式的要求。此时每增加一次M的值(即小数点后一位),都可通过调整指数E'来满足这一等式:即通过适当选择新的指数值使得该等式成立
一旦E超过23时(即E> ),我们可以将E设定为值为 ,这时即使M的最低有效位发生加1操作(即完成一次进位),其计算结果也会等于 $ ,也就是说,在该数的基础上进行一次进位操作后所得到的新数无法正确表示原来的数值。
综上所述,我们可以知道不能精确表示的最小正整数是$2^
