编码

写题记录:

  

 

  解:

    我们知道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

 

 

 

   

 

 

 

 

      

 

posted @ 2023-02-21 16:18  次林梦叶  阅读(23)  评论(0)    收藏  举报