C語言數(shù)的存儲(chǔ)形式_第1頁
C語言數(shù)的存儲(chǔ)形式_第2頁
C語言數(shù)的存儲(chǔ)形式_第3頁
C語言數(shù)的存儲(chǔ)形式_第4頁
C語言數(shù)的存儲(chǔ)形式_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1C語言數(shù)的存儲(chǔ)形式位、字節(jié)、(單)字、雙字計(jì)算機(jī)使用二進(jìn)制數(shù)據(jù)以二進(jìn)制的形式儲(chǔ)存、傳送和運(yùn)算二進(jìn)制數(shù)的一個(gè)位(abinarydigit)叫做“位”(bit),如:0、18個(gè)連續(xù)的位稱為1字節(jié)(byte):00001010

1byte=8bits兩個(gè)連續(xù)字節(jié)的字節(jié)稱為1個(gè)字(word)

1word=2bytes=16bits兩個(gè)連續(xù)的字稱為1個(gè)雙字(doubleword,簡(jiǎn)稱dword)

1dword=2words=4bytes=32bits第1頁/共39頁位、字節(jié)、(單)字、雙字Windows7的計(jì)算器的“程序員”視圖第2頁/共39頁表示整數(shù)

第3頁/共39頁溢出

第4頁/共39頁表示整數(shù)的范圍數(shù)據(jù)結(jié)構(gòu)無符號(hào)數(shù)范圍有符號(hào)數(shù)范圍1字節(jié)(1byte)1字(1word)1雙字(1dword)1四字(1qword)(1quadword)第5頁/共39頁表示整數(shù)的范圍第6頁/共39頁表示整數(shù)的范圍第7頁/共39頁表示整數(shù)的范圍第8頁/共39頁表示整數(shù)的范圍第9頁/共39頁表示整數(shù)的范圍第10頁/共39頁表示負(fù)數(shù)計(jì)算機(jī)不能直接存儲(chǔ)一個(gè)負(fù)號(hào),要表示一個(gè)負(fù)數(shù),就要在數(shù)的最前面拿出1位作為符號(hào)位(為什么是最前面1位?學(xué)了下面的補(bǔ)碼表示,你應(yīng)該就能理解了),若符號(hào)位=0,則表示非負(fù)數(shù);若符號(hào)位=1,則表示負(fù)數(shù)。第11頁/共39頁表示負(fù)數(shù)為了運(yùn)算方便,計(jì)算機(jī)用補(bǔ)碼來表示負(fù)數(shù)。二進(jìn)制數(shù)的補(bǔ)碼=反碼+1

例如:0011的補(bǔ)碼是1101(=1100+1)因?yàn)橛醚a(bǔ)碼表示法表示負(fù)數(shù),直接進(jìn)行加減運(yùn)算就可直接得到正確的結(jié)果。

例如:7

0111

+

-3

+

1101

4

10100注意:舍去超出的1第12頁/共39頁為什么用補(bǔ)碼你此時(shí)很可能對(duì)補(bǔ)碼一頭霧水。不過不著急,馬上為你解釋補(bǔ)碼的來歷。首先回到怎么表示負(fù)數(shù)的問題。最直觀的方法就是把第一位作為符號(hào)位,其余的位表示數(shù)的絕對(duì)值。例如:+3

0011

-3

1011第13頁/共39頁為什么用補(bǔ)碼這種方法雖然看起來簡(jiǎn)單,但比起補(bǔ)碼表示法有兩個(gè)缺點(diǎn)。一是0的表示方法不唯一:0000和1000

這會(huì)造成存儲(chǔ)空間的浪費(fèi)。二是額外需要一個(gè)減法電路來做減法。

而用補(bǔ)碼表示法,減法可以容易地變成加法,只需先對(duì)減數(shù)求補(bǔ)(相當(dāng)于取相反數(shù))即可。第14頁/共39頁為什么用補(bǔ)碼

第15頁/共39頁為什么用補(bǔ)碼確實(shí),在一般的數(shù)學(xué)里面,9876加上一個(gè)正數(shù)不會(huì)等于5555,但在計(jì)算機(jī)里,存儲(chǔ)數(shù)據(jù)的位數(shù)是有限的(聯(lián)想到“溢出”)。這里正要利用溢出。假如數(shù)據(jù)寄存器只能存4個(gè)十進(jìn)制數(shù)位,那么只要找到一個(gè)正數(shù),使9876加上這個(gè)數(shù)的和是15555(請(qǐng)思考為什么不選25555、35555……)。由于最高位的1會(huì)因?yàn)椤耙绯觥倍鵁o效,結(jié)果會(huì)變成5555。第16頁/共39頁為什么用補(bǔ)碼

相當(dāng)于反碼第17頁/共39頁為什么用補(bǔ)碼

相當(dāng)于反碼不要把這些看成數(shù)(number),而應(yīng)該看成編碼(code)第18頁/共39頁為什么用補(bǔ)碼

相當(dāng)于反碼第19頁/共39頁為什么用補(bǔ)碼

第20頁/共39頁為什么用補(bǔ)碼

第21頁/共39頁為什么用補(bǔ)碼按這樣的規(guī)定(補(bǔ)碼表示法),數(shù)據(jù)的最高位如果是0,則代表數(shù)本身(非負(fù)數(shù));最高位如果是1,則代表負(fù)數(shù)(該位置能表示的數(shù)的數(shù)量(如256)減去數(shù)本身(如255)的差(如1)的相反數(shù)(如-1))這與前面“符號(hào)位+絕對(duì)值”表示法規(guī)定正數(shù)的最高位是0,負(fù)數(shù)的最高位是1不謀而合。而且還很好地解決了0有兩種表示方法的問題,100…02被用來表示最小的負(fù)數(shù)。第22頁/共39頁為什么用補(bǔ)碼

第23頁/共39頁為什么用補(bǔ)碼

第24頁/共39頁為什么用補(bǔ)碼

第25頁/共39頁原碼、補(bǔ)碼、補(bǔ)碼表示10進(jìn)制數(shù)(number)8位二進(jìn)制數(shù)(number)二進(jìn)制代碼(code),數(shù)的8位補(bǔ)碼表示(原碼)原碼的補(bǔ)碼

(本質(zhì)是code)第26頁/共39頁補(bǔ)碼

第27頁/共39頁CPU的位數(shù)

第28頁/共39頁操作系統(tǒng)的位數(shù)

第29頁/共39頁講整數(shù)講了這么一大段(主要是令人糾結(jié)的補(bǔ)碼),但是,我們還有小數(shù)。而更令人糾結(jié)的是,計(jì)算機(jī)存儲(chǔ)小數(shù)是用浮點(diǎn)(float)。用浮點(diǎn)數(shù)表示很多數(shù)都是不準(zhǔn)確的。用物理學(xué)的術(shù)語來說,浮點(diǎn)數(shù)是量子化的,只能取一些分立的值。第30頁/共39頁二進(jìn)制小數(shù)

第31頁/共39頁浮點(diǎn)數(shù)

第32頁/共39頁浮點(diǎn)數(shù)格式

第33頁/共39頁32位(單精度)浮點(diǎn)數(shù)格式

省略這個(gè)1省略這個(gè)1第34頁/共39頁32位(單精度)浮點(diǎn)數(shù)

第35頁/共39頁32位(單精度)浮點(diǎn)數(shù)

第36頁/共39頁32位(

溫馨提示

  • 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)論