2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、有關(guān)浮點數(shù)在內(nèi)存中的存儲最近想看一下C中float和double型數(shù)據(jù)在內(nèi)存中是如何表示的,找到了如下一些東東,與大家分享一下c語言中FLOAT是如何表示的?尾數(shù),階碼是如何在32位上安排的,即哪幾位是尾數(shù),哪幾位是階碼,那一位是符號位。聽說與CPU有關(guān),是真的嗎?在C里,實數(shù)(float)是用四個字節(jié)即三十二位二進制位來存儲的。其中有1位符號位,8位指數(shù)位和23位有效數(shù)字位。實際上有效數(shù)字位是24位,因為第一位有效數(shù)字總是“1”,不必

2、存儲。有效數(shù)字位是一個二進制純小數(shù)。8位指數(shù)位中第一位是符號位,這符號位和一般的符號位不同,它用“1”代表正,用”0“代表負(fù)。整個實數(shù)的符號位用“1”代表負(fù),“0”代表正。在這存儲實數(shù)的四個字節(jié)中,將最高地址字節(jié)的最高位編號為31,最低地址字節(jié)的最低位編號為0,則實數(shù)各個部分在這32個二進制位中的分布是這樣的:31位是實數(shù)符號位,30位是指數(shù)符號位,2923是指數(shù)位,220位是有效數(shù)字位。注意第一位有效數(shù)字是不出現(xiàn)在內(nèi)存中的,它總是“1

3、”。將一個實數(shù)轉(zhuǎn)化為C實數(shù)存儲格式的步驟為:(1)先將這個實數(shù)的絕對值化為二進制格式,注意實數(shù)的整數(shù)部分和小數(shù)部分化為二進制的方法是不同的。(2)將這個二進制格式實數(shù)的小數(shù)點左移或右移n位,直到小數(shù)點移動到第一個有效數(shù)字的右邊。(3)從小數(shù)點右邊第一位開始數(shù)出二十三位數(shù)字放入第22到第0位。(4)如果實數(shù)是正的,則在第31位放入“0”,否則放入“1”。(5)如果n是左移得到的,說明指數(shù)是正的,第30位放入“1”。如果n是右移得到的或n=

4、0,則第30位放入“0”。(6)如果n是左移得到的,則將n減去一然后化為二進制,并在左邊加“0”補足七位,放入第29到第23位。如果n是右移得到的或n=0,則將n化為二進制后在左邊加“0”補足七位,再各位求反,再放入第29到第23位。將一個計算機里存儲的實數(shù)格式轉(zhuǎn)化為通常的十進制的格式的方法如下:(1)將第22位到第0位的二進制數(shù)寫出來,在最左邊補一位“1”,得到二十四位有效數(shù)字。將小數(shù)點點在最左邊那個“1”的右邊。(2)取出第29到第

5、23位所表示的值n。當(dāng)30位是“0”時將n各位求反。當(dāng)30位是“1”時將n增1。(3)將小數(shù)點左移n位(當(dāng)30位是“0”時)或右移n位(當(dāng)30位是“1”時),得到一個二進制表示的實數(shù)。(4)將這個二進制實數(shù)化為十進制,并根據(jù)第31位是“0”還是“1”加上正號或負(fù)號即可。這是IEEE短實數(shù)格式,適合X86cpu。C語言float類型浮點數(shù)的存儲方法2009041712:59#includeintmain(intargcargv[])flo

6、atp=5.1fintf=(int)(p100)printf(“%d“f)getch()return0我想要輸出510,可是機器nnd居然輸出509(竟然敢扣我工錢)。到底是whatswrong。我上看下看,左看又看,看了又看,就是發(fā)現(xiàn)不了錯誤。于是我試著把5.1改成5.5一切正常啊。搗鼓了N個小時后猜想莫非是浮點數(shù)的表示問題,于是花了很久找到浮點數(shù)的機器表示方法照著規(guī)定克隆操作了一下。(據(jù)說練過乾坤大挪移的人什么招式都可以克?。?。IE

7、EE規(guī)定的浮點數(shù)的機器表示:32位機器的float是4字節(jié)的,共32位。第1位是符號位接著8位指數(shù)位,接著23位基數(shù)位。以5.1為例。5=101(2進制)0.1=0.0001100110011001100110011.....(無限循環(huán))所以5.1=101.000110011001100110011001100110011...5.1=1.010001100110011001100110011001100110011...2^2因為第一

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論