下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單精度和雙精度的區(qū)別單精度和雙精度數(shù)值類型最早出現(xiàn)在語言中(比較通用的語言里面),在語言中單精度類型稱為浮點(diǎn)類型(),顧名思義是通過浮動(dòng)小數(shù)點(diǎn)來實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。這兩個(gè)數(shù)據(jù)類型最早是為了科學(xué)計(jì)算而產(chǎn)生的,他能夠給科學(xué)計(jì)算提供足夠高的精度來存儲(chǔ)對(duì)于精度要求比較高的數(shù)值。但是與此同時(shí),他也完全符合科學(xué)計(jì)算中對(duì)于數(shù)值的觀念:當(dāng)我們比較兩個(gè)棍子的長(zhǎng)度的時(shí)候,一種方法是并排放著比較一下,一種方法是分別量出長(zhǎng)度。但是事實(shí)上世界上并不存在兩根完全一樣長(zhǎng)的棍子,我們測(cè)量的長(zhǎng)度精度受到人類目測(cè)能力和測(cè)量工具精度的限制。從這個(gè)意義上來說,判斷兩根棍子是否一樣長(zhǎng)絲毫沒有意義,因?yàn)榻Y(jié)果一定是,但是我們可以比較他們兩個(gè)哪
2、個(gè)更長(zhǎng)或者更短。這個(gè)例子很好地概括了單精度雙精度數(shù)值類型的設(shè)計(jì)初衷和存在意義?;谏鲜稣J(rèn)識(shí),單精度/雙精度數(shù)值類型從一開始設(shè)計(jì)的時(shí)候,就不是一個(gè)準(zhǔn)確的數(shù)值類型,他只保證在他這個(gè)數(shù)值類型的精度之內(nèi)是準(zhǔn)確的,精度之外則不保證,比方說,一個(gè)數(shù)值5.,1很可能存儲(chǔ)在單精度/雙精度數(shù)值中的實(shí)際值是5.100000或0者050.000919999。9導(dǎo)9致這個(gè)現(xiàn)象的原因我們可以通過兩種方式來解釋:簡(jiǎn)單的解釋方法:你可以嘗試在任何一個(gè)控件的屬性面板中,設(shè)定他的寬度為:,當(dāng)你輸入完畢后,你會(huì)發(fā)現(xiàn)值自動(dòng)變成了,無論你怎么改,你都無法輸入,因?yàn)閷?shí)際上在電腦中存儲(chǔ)的并不是為單位的數(shù)值,而是“緹”為單位的數(shù)值,而“緹
3、”和之間的比值,是個(gè)很難被除盡的數(shù),因此你輸入完畢后,電腦自動(dòng)轉(zhuǎn)換成了最接近的“緹”值,然后再轉(zhuǎn)換成厘米顯示到屬性面板上,這一乘一除,兩次四舍五入,誤差就出來了。單精度/雙精度也是類似的原理,其實(shí)在二進(jìn)制存儲(chǔ)的時(shí)候,單精度/雙精度都采用了類似相近分?jǐn)?shù)的方法,而這樣的存儲(chǔ)是不可能做到準(zhǔn)確的。深入的解釋方法:讓我們來看看我們存儲(chǔ)到數(shù)字介質(zhì)中的單精度/雙精度值到底是怎么樣的,我們使用如下代碼對(duì)單精度類型進(jìn)行一個(gè)解剖:PublicDeclareSubCopyMemoryLibkernel32AliasRtlMoveMemory(DestinationAsAny,SourceAsAny,ByValLen
4、gthAsLong)PublicSubfloatTest()DimdblVarAsSingledblVar=5.731/8dblOutputdblVardblVar=dblVar*2dblOutputdblVardblVar=dblVar*2dblOutputdblVardblVar=dblVar*2dblOutputdblVardblVar=dblVar*2dblOutputdblVardblVar=dblVar*2dblOutputdblVarEndSubPublicSubdblOutput(ByValdblVarAsSingle)DimbytVar(3)AsByteDimiAsInteg
5、er,jAsIntegerDimstrVarAsStringCopyMemoryByValVarPtr(bytVar(0),ByValVarPtr(dblVar),4strVar=dblVar&:Fori=3To0Step-1Forj=7To0Step-1strVar=strVar&(bytVar(i)And2八j)/2八j運(yùn)行后我們得到輸出結(jié)果(輸出格式為高位左,低位右):這里,我們把單精度類型轉(zhuǎn)化成了二進(jìn)制數(shù)據(jù)輸出,這里我們看到,雖然這六個(gè)數(shù)字完全不同,但是他們的二進(jìn)制存儲(chǔ)驚人地相似,我們看到紅色標(biāo)記部分,每次都是加1,事實(shí)上,單精度數(shù)據(jù)類型使用從高位開始第1位作為正負(fù)標(biāo)記位(綠色),第2
6、位到第9位,是一個(gè)跨字節(jié)的有符號(hào)字節(jié)類型數(shù)據(jù),這個(gè)數(shù)值決定了小數(shù)點(diǎn)移動(dòng)的方向和位數(shù)(紅色),第10位到32位保存一個(gè)整數(shù)(藍(lán)色)在存儲(chǔ)過程中,電腦首先把輸入的值不斷移位(乘除2)直到這個(gè)數(shù)的整數(shù)部分占用了全部24位的整數(shù)位,然后把移動(dòng)的位數(shù)寫入浮點(diǎn)部分(紅色),而移位后的結(jié)果寫入整數(shù)部分(藍(lán)色和綠色),小數(shù)部分則舍棄。求值的時(shí)候則是反向過程,先根據(jù)正負(fù)位和整數(shù)位求值,然后根據(jù)紅色部分的整數(shù)來進(jìn)行移位(乘除2的次方),最終才是我們得到的單精度數(shù)值。雙精度數(shù)值也是同樣原理,只是位數(shù)更多而已。通過解剖單精度數(shù)值的二進(jìn)制存儲(chǔ)格式,我們可以清楚看到,實(shí)際上單精度/雙精度的存儲(chǔ),都要通過乘法和除法,其中必有舍入,如果恰好你的數(shù)值在除法中被舍入了,那么你賦的初值就很可能與你最終存儲(chǔ)的值不完全相同,其中的微小差異,并不與單精度/雙精度的設(shè)計(jì)目標(biāo)相違背。當(dāng)我們?cè)跀?shù)據(jù)庫中或者代碼中使用一個(gè)單精度雙精度數(shù)值的時(shí)候,也許你從界面上看不到區(qū)別,但
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025四川綿陽市中心醫(yī)院合同制工勤人員招聘3人考試核心題庫及答案解析
- 2025河北省人民醫(yī)院招聘護(hù)理助理人員90名備考核心試題附答案解析
- 2025四川攀枝花市東區(qū)公益性崗位安置115人考試核心試題及答案解析
- 2025廣東省輕工業(yè)技師學(xué)院招聘工作人員1人筆試重點(diǎn)試題及答案解析
- 2025年莆田市城廂區(qū)社會(huì)治理網(wǎng)格化中心招聘若干人筆試重點(diǎn)題庫及答案解析
- 2026湖南長(zhǎng)沙市達(dá)德中學(xué)公開招聘校聘教師考試重點(diǎn)題庫及答案解析
- 2025四川省旅游投資集團(tuán)有限責(zé)任公司招聘3人備考筆試試題及答案解析
- 2025廣東省輕工業(yè)技師學(xué)院招聘工作人員1人參考考試試題及答案解析
- 2025年河南輕工職業(yè)學(xué)院招聘工作人員(碩士)46名考試核心試題及答案解析
- 2025湖北恩施州宣恩貢水融資擔(dān)保有限公司招聘1人考試核心試題及答案解析
- 小學(xué)階段人工智能在激發(fā)學(xué)生學(xué)習(xí)動(dòng)機(jī)中的應(yīng)用研究教學(xué)研究課題報(bào)告
- 2025年山西大地環(huán)境投資控股有限公司社會(huì)招聘116人備考題庫及完整答案詳解一套
- 2025年植物標(biāo)本采集合同協(xié)議
- 2025湖北武漢市蔡甸區(qū)總工會(huì)招聘工會(huì)協(xié)理員4人筆試試題附答案解析
- 2026年企業(yè)出口管制合規(guī)審查培訓(xùn)課件與物項(xiàng)識(shí)別指南
- 膽管重復(fù)畸形健康宣教
- 2025秋人教精通版英語小學(xué)五年級(jí)上冊(cè)知識(shí)點(diǎn)及期末測(cè)試卷及答案
- 校園反恐防暴2025年培訓(xùn)課件
- 2026年安徽城市管理職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試模擬測(cè)試卷附答案
- 2025年秋季學(xué)期國家開放大學(xué)《人文英語4》期末機(jī)考精準(zhǔn)復(fù)習(xí)題庫
- 高血壓的常用降壓藥及其分類
評(píng)論
0/150
提交評(píng)論