實驗報告三數(shù)據(jù)的表示2_第1頁
實驗報告三數(shù)據(jù)的表示2_第2頁
實驗報告三數(shù)據(jù)的表示2_第3頁
實驗報告三數(shù)據(jù)的表示2_第4頁
實驗報告三數(shù)據(jù)的表示2_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機系統(tǒng)基礎實驗報告學院信電學院 專業(yè)計算機科學與技術班級計算機1401學號 140210110 姓名 段登贏實驗時間:一、實驗名稱:數(shù)據(jù)的表示2二、實驗目的和要求:(1)實驗目的:熟悉數(shù)值數(shù)據(jù)在計算機內部的表示方式,掌握相關的處理語句。(2)實驗要求:說明你做實驗的過程(重要步驟用屏幕截圖表示)提交源程序;分析并回 答問題。三、實驗環(huán)境(軟、硬件):要求:詳細描述實驗用的操作系統(tǒng),源代碼編輯軟件,相關硬件環(huán)境及所使用的GCC 編譯器的信息。四、實驗內容:(1)請說明下列賦值語句執(zhí)行后,各個變量對應的機器數(shù)和真值各是多少?編寫一段程序 代碼并進行編譯,觀察默認情況下,編譯器是否報warnin

2、g。如果有warning信息的話,分 析為何會出現(xiàn)這種warning信息。inta= 2147483648;intb =-2147483648;intc= 2147483649;unsigned short d = 65539;short e = -32790;(2)完成書上第二章習題中第40題,提交代碼,并在程序中以十六進制形式打印變量u 的機器數(shù)。(3)編譯運行以下程序,并至少重復運行3次。void main()double x=23.001, y=24.001, z=1.0;for (int i=0; i+32767I所以 e 會報出溢 出警告。(2)話輸入一個整歇;52的5次方的十進制

3、故;32.0006902的5次方的十六謎制致是:6X42609009細用POW函數(shù)進行驗證得到的信息:2的5次方的十進制??;32.0000002的5次方的十六進制藪是:0X42000660實驗分析:1)計算機中單精度浮點數(shù)的表示方法:1位符號位記作S8位階碼記作E23位尾數(shù)記作F其中符號位:0表示正數(shù),1表示負數(shù)。8位階碼:8為二進制數(shù)可以表示0到255之間 的255個值,但是指數(shù)不僅有正數(shù),它還有負數(shù),為了處理負指數(shù)的情況,讓實際的指數(shù)值 加上一個偏差(Bias,記作B)值作為保存在指數(shù)域的值,單精度的偏差值為127,例如如 果指數(shù)是0,那么8位階碼就是127+0=127=0111 1111

4、BO位數(shù)實際是由24位表示,但是小 數(shù)點左邊的1或0默認是隱藏的,所以位數(shù)就成23位了,對于這個隱藏的數(shù)字我們記作Y。2)幾種浮點數(shù)的表示:描述EF規(guī)格化浮點數(shù)SE/0&E/255F非規(guī)格化浮點數(shù)S0000 0000F無窮大浮點數(shù)S1111 11110000 0000 0000 0000 0000 000NaN非數(shù)S1111 1111*03)單精度浮點數(shù)所能表示的所有正數(shù)的主要臨界點描述(Y)SEFB+指數(shù)=E零(0)00000 00000000 0000 0000 0000 0000 000-126最小的非規(guī)格化數(shù)(0)00000 00000000 0000 0000 0000 0000 0

5、01-1262-148 (0)00000 00000000 0000 0000 0000 0000 010-126(0)0-126最大的非規(guī)格化數(shù)(0)00000 00001111 1111 1111 1111 1111 111-126最小的規(guī)格化數(shù)(1)00000 00010000 0000 0000 0000 0000 000127-126=1022(1)01000 00010000 0000 0000 0000 0000 000127+2=129(1)0最大的規(guī)格化數(shù)(1)01111 11101111 1111 1111 1111 1111 111127+127=254無窮大(1)011

6、11 11110000 0000 0000 0000 0000 000127+128=2553)看完這個表格,我們還需要明確一下非規(guī)格化浮點數(shù)的表示才能判斷其臨界值的大小,例如 2-149 = 1*2-126 *2-23,2-148 =2*2-126 *2-23,2-127 = 2-126 *2-23 *222 很明顯允許的 階數(shù)位數(shù)E=-126不能滿足所需要的階數(shù)-149的需求,這時可能就會在尾數(shù)前添 加前導0,變成表格中的形式。經(jīng)過上面的分析我們就可以很快找到2的x次方的各種浮點數(shù)表示形式的臨界值了: (-8,-150,-149,-127,-126,127,128,+o然后題目就可以解出來

7、了:float fpower2(int x)(unsigned exp,frac,u;if(x-149)/*值太小,返回 0.0*/exp = 0;frac = 0;else if(x-126)/*返回非規(guī)格化結果*/exp = 0;frac = 1 (x+149);else if(x128)/*返回規(guī)格化結果*/exp = x+127;frac = 0;else/*值太大,返回+8*/exp = 255;frac = 0;u = exp 23 | frac;/總共 32 位return u2f(u);equal0r 24.001000 r 25.001000equal1, 25.001000

8、 r 26.001000equal2r 26.001000 r 27.001000 equal27.001000 r 28.001000equal28.001000 , 29.001000equal5r 29.001000 r 30.001000equal30.001000 r 31.001000equal31.001000 r 32.001000 not equal8r 32.001000 r 33.001000 equal9, 33.001000 , 34.001000J_.equal0r 24.001000 r 25.001000equal1, 25.001000 r 26.001000

9、equal2r 26.001000 r 27.001000equal27.001000 r 28.001000equal28.001000 , 29.001000equal29.001000 , 30.001000equal30.001000 , 31.001000equal31.001000 , 32.001000 not equal8r 32.001000 r 33.001000equal9, 33.001000 r 34.001000equalQr 24.001000 , 25.001000equal1, 25.001000 , 26.001000equal2r 26.001000 , 27.001000equal27.001000 , 28.001000equal28.001000 , 29.001000equal5r 29.001000 , 30.001000equal30.001000 , 31.001000equal31.001000 , 32.001000 mot equal8r 32.001000 , 33.001000e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論