编码
写题记录:

解:
我们知道32位为单精度浮点数,其阶码部分有8位(含阶符)
其尾数部分有24位(含数符,即把符号位也包含进去了)
即真正用来记录数据的部分是23位
由于尾数是原码,规格化后的原码不管是正还是负
都是0.1xxxx 或 1.1xxxx 的形态,所以我们省去1,默认尾数开始就有数2^0=1
于是23位都可以用来表示小数部分
这里最大的小数是0.1111...1111(小数点后面23个1)即 (2^(-1)) * (1-2^(-23))/(1-2^(-1))=1-2^(-23)
由于默认尾数开始就有数2^0=1,所以真正尾数的值为 2-2^(-23)
在看阶码部分:
单精度浮点数阶码为8位(含阶符),能表示的最大数为 2^7-1=127
max(阶码+偏置值)=127
即最大 *2^127
综合上述:(2-2^(-23))* 2^127




浙公网安备 33010602011771号