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

下載本文檔

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

文檔簡(jiǎn)介

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

邊的1或0默認(rèn)是隱藏的,所以位數(shù)就成23位了,對(duì)于這個(gè)隱藏的數(shù)字我們記作丫。2)兒種浮點(diǎn)數(shù)的表達(dá):描述EF規(guī)格化浮點(diǎn)數(shù)SEW0&EW255F非規(guī)格化浮點(diǎn)數(shù)S00000000F無窮大浮點(diǎn)數(shù)S1111111100000000000000000000000NaN非數(shù)S11111111FW03)單精度浮點(diǎn)數(shù)所能表達(dá)的所有正數(shù)的重要臨界點(diǎn)描述(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)看完這個(gè)表格,我們還需要明確一下非規(guī)格化浮點(diǎn)數(shù)的表達(dá)才干判斷其臨界值的大小,例如2/49=1*2/26*2》,2/48=2*2-儂*723,2/27=****2??很明顯允許的階數(shù)位數(shù)E=-126不能滿足所需要的階數(shù)-149的需求,這時(shí)也許就會(huì)在尾數(shù)前添加前導(dǎo)0,變成表格中的形式。4)通過上面的分析我們就可以不久找到2的x次方的各種浮點(diǎn)數(shù)表達(dá)形式的臨界值了:(—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ī)格化結(jié)果*/exp=0;frac=1<<(x+149);}elseif(xV128){/*返回規(guī)格化結(jié)果*/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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論