C之浮點(diǎn)數(shù)(三)-創(chuàng)新互聯(lián)

    在 C 語(yǔ)言中,浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方式為:符號(hào)位,指數(shù),位數(shù)。float 與 double 類型的數(shù)據(jù)在計(jì)算機(jī)內(nèi)部的表示法是相同的,但由于所占存儲(chǔ)空間的不同,其分別能夠表示的數(shù)值范圍和精度不同。如下所示:

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括大關(guān)網(wǎng)站建設(shè)、大關(guān)網(wǎng)站制作、大關(guān)網(wǎng)頁(yè)制作以及大關(guān)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大關(guān)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到大關(guān)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

C之浮點(diǎn)數(shù)(三)

        下來(lái)我們就來(lái)講講關(guān)于浮點(diǎn)數(shù)的轉(zhuǎn)換:1、將浮點(diǎn)數(shù)轉(zhuǎn)換成二進(jìn)制;2、用科學(xué)計(jì)數(shù)法表示二進(jìn)制浮點(diǎn)數(shù);3、計(jì)算指數(shù)偏移后的值。注意:計(jì)算指數(shù)時(shí)需要加上偏移量,而偏移量的值與類型有關(guān)。那么實(shí)數(shù) 8.25 在內(nèi)存中的 float 該怎么表示呢?8.25 的二進(jìn)制表示:1000.01 ==> 1.00001 * (2 ^ 3);符號(hào)位:0;    指數(shù):127 + 3 ==> 130 ==> 1000 0010;    小數(shù):00001    所以內(nèi)存中8.25的 float 表示:0 1000 0010 0000 1000 0000 0000 0000 000 ==> 0x4104 0000

        我們?cè)?Linux 中做個(gè) 8.25 的轉(zhuǎn)換實(shí)驗(yàn),看看它是否在內(nèi)存中表示為 0x4104 0000,代碼如下:

#include <stdio.h>

int main()
{
    float f = 8.25;
    
    unsigned int* p = (unsigned int*)&f;
    
    printf("0x%08X\n", *p);
    
    return 0;
}

        我們看到打印出的結(jié)果如下,確實(shí)是我們分析的那樣。

C之浮點(diǎn)數(shù)(三)

        在 C 語(yǔ)言中,int 類型的范圍為:[ -2^31, 2^31 - 1];    float 類型的范圍是:[ -3.4 * 10^38, 3.4 * 10^38 ]。float 能表示的具體數(shù)字的個(gè)數(shù)與 int 相同??杀硎镜臄?shù)字之間不是連續(xù)的,存在間隙。它只是一種近似的表示法,不能作為精確數(shù)使用。由于內(nèi)存表示法相對(duì)復(fù)雜,float 的運(yùn)算速度比 int 慢的多。注意:double 與 float 具有相同的內(nèi)存表示法,因此 double 也是不精確的。由于 double 占用的內(nèi)存較多,所能表示的精度也就比 float 高。


        下來(lái)我們做個(gè)實(shí)驗(yàn),以驗(yàn)證 float 所表示的數(shù)是不精確的,代碼如下:

#include <stdio.h>

int main()
{
 
    float f = 3.1415f;
    float fl = 123456789;
    
    printf("%0.10f\n", f);
    printf("%0.10f\n", fl);
    
    return 0;
}

        我們看到打印結(jié)果如下,我們期望的 f 本應(yīng)該是3.141500000,f1 本應(yīng)該是 123456789.0000000000,可是結(jié)果是 f = 3.1414999962;    f1 = 123456792.0000000000。這也從側(cè)面證實(shí)了我們說(shuō)的是正確的,用浮點(diǎn)數(shù)表示的數(shù)字是不精確的。

C之浮點(diǎn)數(shù)(三)

        那么關(guān)于浮點(diǎn)數(shù),我們可總結(jié)為:1、浮點(diǎn)類型與整數(shù)類型的內(nèi)存表示法不同;2、內(nèi)存表示更加復(fù)雜;3、可表示的范圍更大;4、是一種不精確的類型;5、它的運(yùn)算速度比較慢。關(guān)于浮點(diǎn)數(shù)的相關(guān)知識(shí)我們就先學(xué)習(xí)到這了,后面我們繼續(xù)學(xué)習(xí) C 語(yǔ)言的其他知識(shí)。


         歡迎大家一起來(lái)學(xué)習(xí) C 語(yǔ)言,可以加我QQ:243343083。

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

分享題目:C之浮點(diǎn)數(shù)(三)-創(chuàng)新互聯(lián)
文章起源:http://bm7419.com/article14/cesgde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司商城網(wǎng)站、微信公眾號(hào)搜索引擎優(yōu)化

廣告

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

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)