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

下載本文檔

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

文檔簡介

計算機系統(tǒng)基礎實驗報告學院信電學院專業(yè)計算機科學與技術班級計算機1401學號姓名段登贏實驗時間:一、實驗名稱:數(shù)據(jù)的表達2二、實驗目的和規(guī)定:(1)實驗目的:熟悉數(shù)值數(shù)據(jù)在計算機內部的表達方式,掌握相關的解決語句。⑵實驗規(guī)定:說明你做實驗的過程(重要環(huán)節(jié)用屏幕截圖表達);提交源程序;分析并回答問題。三、實驗環(huán)境(軟、硬件):規(guī)定:具體描述實驗用的操作系統(tǒng),源代碼編輯軟件,相關硬件環(huán)境及所使用的GCC編譯器的信息。四、實驗內容:⑴請說明下列賦值語句執(zhí)行后,各個變量相應的機器數(shù)和真值各是多少?編寫一段程序代碼并進行編譯,觀測默認情況下,編譯器是否報warningo假如有warning信息的話,分析為什么會出現(xiàn)這種warning信息。inta=;intb=";intc=;unsignedshortd=65539;shorte=-32790;(2)完畢書上第二章習題中第40題,提交代碼,并在程序中以十六進制形式打印變量u的機器數(shù)。(3)編譯運營以下程序,并至少反復運營3次。voidmain()(doublex=23.001,y=24.001,z=l.0;for(inti=0;i<10;i++){if((y-x)==z)。。printf(Hequa1\n");elseprintf("notequal\nH);*+=Z;y+=z;printf(H%d,%f,%f\n”,i,x,y);))規(guī)定:(1)給出每次運營的結果截圖。(2)每次運營過程中,是否每一次循環(huán)中的判等結果都一致?為什么?(3)每次運營過程中,每一次循環(huán)輸出的i、x和y的結果分別是什么?為什么?五、實驗結果及分析:(1)?OOduan@ubuntu:*/zuoye文件(F)編輯(E)查看(V)終湍(T)幫助(H)Torunacommandasadministrator(user"root"),use"sudo<command>M.See"mansudoroot*'fordetails.duan@ubuntu:*$cdzuoyeduan(aubuntu:*/zuoye$touchlianxil.cduan@ubuntu:~/zuoye$gedittianxil.cduan@ubuntu:*/zuoye$gcclianxil.clianxil.c:Infunction4main*:lianxil.c:5:warning:thisdecimalconstantisunsignedonlyinISOC90lianxil.c:7:warning:thisdecimalconstantisunsignedonlyinISOC90lianxil.c:9:warning:thisdecimalconstantisunsignedonlyinISOC90lianxil.c:11:warning:thisdecimalconstantisunsignedonlyinISOC90lianxil.c:13:warning:largeintegerimplicitlytruncatedtounsignedtypelianxil.c:15:warning:overflowinimplicitconstantconversionduan@ubuntu:-/zuoye$||實驗分析:機器數(shù)就是數(shù)字在計算機中的二進制表達形式,其特點一是符號數(shù)字化,二是其數(shù)的大小受機器字長的限制。將帶符號位的機器數(shù)相應的真正數(shù)值稱為機器數(shù)的真值inta=的機器數(shù)是10000000000000000000000000000000Bintb=■的機器數(shù)是10000000000000000000000000000000Bintc=的機器數(shù)是10000000000000000000000000000001Bunsignedshortd=65539的機器數(shù)無法表達shorte=-32790的機器數(shù)無法表達int類型在32位計算機中占4個字節(jié),即32位。又由于正數(shù)的補碼是其自身,所以int類型能表達的所有正數(shù)為:0,00000000000000000000000000000008到0』11111111111111111111111111HUB即0到+。而負數(shù)的補碼是除符號位外各位取反最后加一而來。所以int類型所能表達的所有負數(shù)為:0,00000000000000000000000OOOOOOOOB(-0D的補碼)至1,1111111111111111111111111111111B即。至IJ-D。而32位二進制數(shù)能表達的所有值為2的32次方個,而從-D到+D總共是2的32次方減一個數(shù),而少的這個數(shù)就是10000000000000000000000000000000B(-0D的補碼),而任何數(shù)的原碼都不能在轉換成補碼時成為這個數(shù),我們人為的把他規(guī)定為一所以int類型的取值范圍為-到+,所以題目中的b是對的的,并且不會發(fā)生溢出。而題目中的a=其實已經(jīng)超過血類型的最大范圍,但是a==+l=0,1111111111111111111111111111111B+1B=10000000000000000000000000000000B=而一又在int類型的取值范圍內,所以也不會溢出,假如此時打印輸出a的十進制就是一,同理可得c==+2=-,也不會發(fā)生溢出現(xiàn)象。a,b,c的打印輸出結如下圖所示:aH:80000000bH:80000000CH:80000001aD:-2147483648bD:-2147483648CD:-2147483647對于題目中的d,由于它是無符號短整型的變量,在32位機中占兩個字節(jié)。所以d的取值范圍為:0到65535,而65539不在這個范圍內,所以會報溢出警告。對于題目中的e,由于它是有符號短整型的變量,在32位機中占兩個字節(jié)。所以e的取值范圍為:-32768到+32767,此時c=-32790=-32768-22=-32768+(-22)=100000000000000000000000OOOOOOOOB+11111111111111111111111111101001B=000101111111111111111111111111101001B=+D?+32767D所以e會報出溢出警告。(2).請輸入一個整故:52的5次方的十進制數(shù):32,0000002的5次方的十六進制數(shù)是:0X42000000利用powJS函數(shù)進行物證得到的信息:2的5次方的十進制數(shù):32.0000002的5次方的十六進制數(shù)是:0X42090000實驗分析:1)計算機中單精度浮點數(shù)的表達方法:1位符號位記作S8位階碼記作E23位尾數(shù)記作F其中符號位:0表達正數(shù),1表達負數(shù)。8位階碼:8為二進制數(shù)可以表達。到255之間的255個值,但是指數(shù)不僅有正數(shù),它尚有負數(shù),為了解決負指數(shù)的情況,讓實際的指數(shù)值加上一個偏差(Bias,記作B)值作為保存在指數(shù)域的值,單精度的偏差值為127,例如假如指數(shù)是0,那么8位階碼就是127+0=127=01111111B。位數(shù)實際是由24位表達,但是小數(shù)點左

邊的1或0默認是隱藏的,所以位數(shù)就成23位了,對于這個隱藏的數(shù)字我們記作丫。2)兒種浮點數(shù)的表達:描述EF規(guī)格化浮點數(shù)SEW0&EW255F非規(guī)格化浮點數(shù)S00000000F無窮大浮點數(shù)S1111111100000000000000000000000NaN非數(shù)S11111111FW03)單精度浮點數(shù)所能表達的所有正數(shù)的重要臨界點描述(Y)SEFB+指數(shù)=E零(0)00000000000000000000000000000000-126最小的非規(guī)格化數(shù)(0)00000000000000000000000000000001-1262-148(0)(0000000000000000000000000000010-126??(0)0??????-126最大的非規(guī)格化數(shù)(0)00000000011111111111111111111111-126最小的規(guī)格化數(shù)(1)00000000100000000000000000000000127-126=1???0?????????22(1)01000000100000000000000000000000127+2=129???(1)0?????????最大的規(guī)格化數(shù)(1)01111111011111111111111111111111127+127=254無窮大(1)01111111100000000000000000000000127+128=2553)看完這個表格,我們還需要明確一下非規(guī)格化浮點數(shù)的表達才干判斷其臨界值的大小,例如2/49=1*2/26*2》,2/48=2*2-儂*723,2/27=****2??很明顯允許的階數(shù)位數(shù)E=-126不能滿足所需要的階數(shù)-149的需求,這時也許就會在尾數(shù)前添加前導0,變成表格中的形式。4)通過上面的分析我們就可以不久找到2的x次方的各種浮點數(shù)表達形式的臨界值了:(—8,—150],[-149,-127],[-126,127],[128,+8]。5)然后題目就可以解出來了:f1oatfpower2(intx){unsignedexp,frac,u;if(x<—149){/*值太小,返回0.0*/oexp=0;gfrac=0;}e1seif(x<-126){/*返回非規(guī)格化結果*/exp=0;frac=1<<(x+149);}elseif(xV128){/*返回規(guī)格化結果*/gexp=x+127;efrac=0;。}else{/*值太大,返回+8*/。exp=255;afrac=0;}=exp?23|frac;//總共32位returnu2f(u);}(3)Iequal|0,24.001000925.001000equal1,25.001000926.001000equal2,26.001000927.001000equal3,27.001000928.001000equal4,28.00100?929.001000equal5,29.001000930.001000equal6,30.00100?931.001000equal7,31.00100?932.001000notequal8,32.00100?933.001000equal9,33.00100?934.001000equalequal0,24.001000f25.001000equal1,25.001000f26.001000equal2,26.001000927.001000equal3,27.001000928.001000equal4,28.001000929.001000equal5,29.001000930.001000equal6r30.001000931.001000equal7,31.001000932.001000notequal8r32.001000933.001000equal9,33.001000934.001000equal0,24.001000f25.001000equal0,24.001000f25.001000equal1,25.001000f26.001000equal2,26.001000927.001000equal3,27.001000928.001000equal4,28.001000929.001000equal5,29.001000930.001000equal6r30.001000931.001000equal7,31.001000932.001000notequal8r32.001000933.001000equal9,33.001000934.001000equal0,24.001000925.001000equal1,25.001000926.001000equal2,26.001000927.001000equal3,

溫馨提示

  • 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

提交評論