



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第C語言深入探索浮點數(shù)的使用秘密目錄一、內(nèi)存中的浮點數(shù)二、浮點數(shù)存儲實例三、浮點類型的秘密四、小結(jié)
一、內(nèi)存中的浮點數(shù)
浮點數(shù)在內(nèi)存的存儲方式為:符號位,指數(shù),尾數(shù)
類型符號位指數(shù)尾數(shù)float1位(第31位)8位(第23--30位)23位(第0--22位)double1位(第63位)11位(第52--62位)52位(第0--51位)
注:float與double類型的數(shù)據(jù)在計算機內(nèi)部的表示法是相同的,但由于所占存儲空間的不同,其分別能夠表示的數(shù)值范圍和精度不同。
二、浮點數(shù)存儲實例
浮點數(shù)的轉(zhuǎn)換
將浮點數(shù)轉(zhuǎn)換成二進制用科學計數(shù)法表示二進制浮點數(shù)計算指數(shù)偏移后的值
注意:計算指數(shù)時需要加上偏移量,而偏移量的值與類型有關(guān)。
示例:對于指數(shù)6,偏移后的值如下:
float:127+6-133
double:1023+6-1029
實數(shù)8.25的在內(nèi)存中的float表示
8.25的二進制表示:1000.01-1.00001*(2^3)
符號位:0指數(shù):127+3數(shù):00001
內(nèi)存中8.25的float表示:
01000001000001000000000000000000-0x41040000
下面看一下8.25是不是在內(nèi)存中表示為0x41040000吧:
#includestdio.h
intmain()
floatf=8.25;
unsignedint*p=(unsignedint*)
printf("0x%08X\n",*p);
return0;
}
下面為輸出結(jié)果:
三、浮點類型的秘密
首先看一下int類型和float類型的范圍:
int類型的范圍:[-2^31,2^31-1]
float類型的范圍:[-3.4*10^38,3.4*10^38]
這就出現(xiàn)一個問題:int和float都占4個字節(jié)的內(nèi)存,為什么float卻比int的范圍大得多呢
解釋如下:
float能表示的具體數(shù)字的個數(shù)與int相同float可表示的數(shù)字之間不是連續(xù)的,存在間隙float只是一種近似的表示法,不能作為精確數(shù)使用由于內(nèi)存表示法相對復(fù)雜,float的運算速度比int慢得多
注意:double與float具有相同的內(nèi)存表示法,因此double也是不精確的。由于double占用的內(nèi)存較多,所能表示的精度比float高。
下面看一段float類型的不精確示例代碼:
#includestdio.h
intmain()
floatf=3.1415f;
floatfl=123456789;
printf("%0.10f\n",f);
printf("%0.10f\n",fl);
return0;
}
下面為輸出結(jié)果:
這個示例就是表示f和fl小數(shù)點的后10位,結(jié)果表明,float只是一種近似的表示法,不能作為精確數(shù)使用以及float可表示的數(shù)字之間不是連續(xù)的,存在間隙。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年舞蹈服項目市場調(diào)查研究報告
- 書法基本知識試題及答案
- 財經(jīng)對口測試題及答案
- 2025年折疊瓦楞盒項目市場調(diào)查研究報告
- 商業(yè)美術(shù)設(shè)計師考試組織與策劃試題及答案
- 2024年聚焦廣告設(shè)計師考試成功路徑試題及答案
- 紡織品設(shè)計師證書考試相關(guān)文獻綜述試題及答案
- 紡織材料市場分析試題及答案
- 盾構(gòu)測量員試題及答案
- 紡織行業(yè)成本控制策略試題及答案
- (部編版一年級下冊)語文第七單元復(fù)習課件
- 新聞采訪與寫作(馬工程筆記)
- DB32∕T 1703-2011 科技成果轉(zhuǎn)化服務(wù)規(guī)范總則
- SQ-02-綠色食品種植產(chǎn)品調(diào)查表0308
- 視頻結(jié)構(gòu)化大數(shù)據(jù)平臺解決方案
- SolidWorks、CAD三維建模練習習題圖
- 麗聲北極星分級繪本第二級上Dinner for a Dragon 教學設(shè)計
- 活躍氣氛的開場小游戲「培訓破冰前必備」
- 光伏發(fā)電項目安全專項投資估算方案
- 上海證券交易所(課堂PPT)
- 大學生物技術(shù)分析教材與教學設(shè)計
評論
0/150
提交評論