float、double類型的數據在計算機內部的表示法-創(chuàng)新互聯

由于float和double類型的數據在內存中的保存形式是一樣的,只是double表示的范圍更大而已。因此,這里只介紹float的表示方法。double同理。
假設,我現在有一個數據-12.25。那么這個數據在計算機內部是如何存儲的呢?
首先,將這個浮點數轉換成二進制數。經過轉換,得到的二進制數為:1100.01。
接著,將這個二進制數用科學計數法來表示,1.10001 * 2 ^ 3。
由于這個數是負數。所以,符號位為1;指數位為127 + 3 = 130;尾數(小數)為10001。
然后,將指數130轉換為二進制數10000010。
最后,由于float占4個字節(jié),也就是32位,所以,-12.25在內存中表示為:
11000001010001000000000000000000,將這個數用十六進制表示為0xC1440000。
那么,我們的計算結果對不對呢?我們可以用程序來驗證一下。

成都創(chuàng)新互聯公司專注于南崗網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供南崗營銷型網站建設,南崗網站制作、南崗網頁設計、南崗網站官網定制、小程序定制開發(fā)服務,打造南崗網絡公司原創(chuàng)品牌,更為您提供南崗網站排名全網營銷落地服務。
float a = -12.25;
    unsigned int* p = ( unsigned int* )&a;

    printf ( "0x%08X\n", *p );

    system ( "pause" );
    return 0;

運行結果為:
float、double類型的數據在計算機內部的表示法
運行結果和我們計算的完全一樣。

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章標題:float、double類型的數據在計算機內部的表示法-創(chuàng)新互聯
網址分享:http://bm7419.com/article28/dsdecp.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站排名、營銷型網站建設、企業(yè)建站小程序開發(fā)、App開發(fā)虛擬主機

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

微信小程序開發(fā)