欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: VC++6.0 中的64位整數以及浮點數格式 [打印本頁]

作者: 51黑er    時間: 2015-11-2 14:24
標題: VC++6.0 中的64位整數以及浮點數格式
// tttt.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

union w                    //32位單精度浮點數,這里使用了共用體union
{
    unsigned idata;    //32位浮點數的內部二進制表示對應的整數
    float fdata;            //32位浮點數本身
    struct   //各自定義32位浮點數的符號位、指數部分和尾數部分,注意這幾個位域的順序!
    {
        unsigned f:23;    //32位浮點數的23位尾數部分
        unsigned index:8;    //32位浮點數的8位指數部分
        unsigned sign:1;       //32位浮點數的1位符號位部分
    }h;
};

union ww            //
64位雙精度浮點數的內部二進制表示對應的整數
{
    __int64 ldata;   
//64位雙精度浮點數的內部二進制表示對應的整數,注意__int64   
    double ddata;   
//64位雙精度浮點數本身
    struct  
//各自定義64位雙精度浮點數的符號位、指數部分和尾數部分,注意這個幾個位域的順序!
     {
        unsigned f1:32;   
//64位雙精度浮點數的52位尾數部分的低32位
        unsigned f2:20;  
//64位雙精度浮點數的52位尾數部分的高20位
        unsigned index:11;
//64位雙精度浮點數的11位指數部分        
        unsigned sign:1;
    //64位雙精度浮點數的1位符號位部分
     }h;
};

int main(int argc, char* argv[])
{
    w m;

    m.idata =0x93534253;    //直接用整數表示的32位單精度浮點數
    printf("fdata:%e\n",m.fdata );    //
32位單精度浮點數表示
    printf("size:%d\n",sizeof(w) );    //
32位單精度浮點數占用的字節數           
    printf("idata:%8x\n",m.idata );    //對應的32位整數
    printf("sign:%1x\n",m.h.sign);    //符號位
    printf("index:%2x\n",m.h.index);    //指數部分
    printf("f:%x\n",m.h.f);                    //尾數部分對應的整數

    __int64 longdata;    //64位整數,注意__int64
    ww mm;    //64位雙精度浮點數公共體
    mm.ddata =124.235L;    //64位雙精度浮點數,這次直接使用浮點數

    printf("ddata:%e\n",mm.ddata );    //
64位雙精度浮點數
    printf("size:%d\n",sizeof(ww) );       //占用的字節數
    printf("ldata:%16I64x\n",mm.ldata ); //64位整數的16進制表示,注意
16I64x        printf("sign:%x\n",mm.h.sign);
    printf("index:%x\n",mm.h.index);

    longdata=__int64(mm.h.f1)|(__int64(mm.h.f2)<<32);    //組合成52位尾數部分
    printf("f:%16I64x\n",longdata);        //52位尾數部分

    printf("Hello World!\n");
    return 0;
}












歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1