IEEE浮點表示 (原發布 csdn 2018-10-14 10:29:33)

@(IEEE浮點表示)3d

觀察IEEE浮點表示

工做中遇到過整型轉浮點型(union那種轉換),碰到就看下書,事後就遺忘了。等過段時間又出現此現象,又從新拿起書本,此次記錄了過程。然而一直等到今天才寫出來,以防之後還用到,若是能幫助到你就更好了。

測試代碼

double uu2double(unsigned word0, unsigned word1)
{
    union
    {
        double d;
        unsigned u[2];
    } temp;

    temp.u[0] = word0;
    temp.u[1] = word1;
    return temp.d;
}

在這裏插入圖片描述

思路

1,3(小端模式)

//unsigned 4字節 
//  u[1]                                       u[0]
00 00 00 03                                 00 00 00 01

//double   8字節
//d
0000 0000 0000 0000 0000 0000 0000 0011 0000 0000 0000 0000 0000 0000 0000 0001

//IEEE 浮點表示
/*
  V = (-1)^s * M * 2^E
  符號(sign) 負數(s=1)、正數(s=0)
  規格化的值(階碼域exp不全是0,也不全是1):   E = e-Bias(2^(k-1)-1  單精度127,雙精度1023),M = 1+f
  非規格化的值(階碼域exp全是0):             E = 1-Bias(2^(k-1)-1  單精度127,雙精度1023),M = f
*/
//符號s     階碼exp                         尾數f
    0     00000000000   0000 0000 0000 0000 0011 0000 0000 0000 0000 0000 0000 0000 0001
    
    非規格化 V = {2^(1-1023)*[(2^32+2^31+2^0)/(2^52)]} = 6.365987373390e-314#DEN

結果

在這裏插入圖片描述

參考資料

深刻理解計算機系統(中文,原書第三版)
在這裏插入圖片描述
在這裏插入圖片描述code

相關文章
相關標籤/搜索