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

下載本文檔

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

文檔簡介

1、C語言1、數(shù)在computer中的存在形式中山大學(xué)理工學(xué)院2011級微電子2+2 伍裕平版權(quán)所有 Copyright reserved1由于程序就是數(shù)據(jù)的輸入輸出和對數(shù)據(jù)的一系列運(yùn)算,所以學(xué)習(xí)編程之前,我們最好了解一下數(shù)據(jù)在電子計算機(jī)中的存儲方式。本PPT內(nèi)的知識在“數(shù)字電路”課程中還將遇到2位、字節(jié)、(單)字、雙字計算機(jī)使用二進(jìn)制數(shù)據(jù)以二進(jìn)制的形式儲存、傳送和運(yùn)算二進(jìn)制數(shù)的一個位(a binary digit)叫做“位”(bit),如:0、18個連續(xù)的位稱為1字節(jié)(byte):000010101 byte = 8 bits兩個連續(xù)字節(jié)的字節(jié)稱為1個字(word)1 word = 2 byte

2、s = 16 bits兩個連續(xù)的字稱為1個雙字(double word,簡稱dword)1 dword = 2 words = 4 bytes = 32 bits3位、字節(jié)、(單)字、雙字Windows 7的計算器的“程序員”視圖4表示整數(shù)5溢出6表示整數(shù)的范圍數(shù)據(jù)結(jié)構(gòu)無符號數(shù)范圍有符號數(shù)范圍1字節(jié)(1 byte)1字(1 word)1雙字(1 dword)1四字(1 qword)(1 quad word)7表示整數(shù)的范圍8表示整數(shù)的范圍9表示整數(shù)的范圍10表示整數(shù)的范圍11表示整數(shù)的范圍12表示負(fù)數(shù)計算機(jī)不能直接存儲一個負(fù)號,要表示一個負(fù)數(shù),就要在數(shù)的最前面拿出1位作為符號位(為什么是最前面

3、1位?學(xué)了下面的補(bǔ)碼表示,你應(yīng)該就能理解了),若符號位=0,則表示非負(fù)數(shù);若符號位=1,則表示負(fù)數(shù)。13表示負(fù)數(shù)為了運(yùn)算方便,計算機(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é)果。例如:70111 +-3+ 11014 10100注意:舍去超出的114為什么用補(bǔ)碼你此時很可能對補(bǔ)碼一頭霧水。不過不著急,馬上為你解釋補(bǔ)碼的來歷。首先回到怎么表示負(fù)數(shù)的問題。最直觀的方法就是把第一位作為符號位,其余的位表示數(shù)的絕對值。例如:+30011-3101115為什么用補(bǔ)碼這種方法雖然看起

4、來簡單,但比起補(bǔ)碼表示法有兩個缺點(diǎn)。一是0的表示方法不唯一:0000和1000這會造成存儲空間的浪費(fèi)。二是額外需要一個減法電路來做減法。而用補(bǔ)碼表示法,減法可以容易地變成加法,只需先對減數(shù)求補(bǔ)(相當(dāng)于取相反數(shù))即可。16為什么用補(bǔ)碼17為什么用補(bǔ)碼確實(shí),在一般的數(shù)學(xué)里面,9876加上一個正數(shù)不會等于5555,但在計算機(jī)里,存儲數(shù)據(jù)的位數(shù)是有限的(聯(lián)想到“溢出”)。這里正要利用溢出。假如數(shù)據(jù)寄存器只能存4個十進(jìn)制數(shù)位,那么只要找到一個正數(shù),使9876加上這個數(shù)的和是15555(請思考為什么不選25555、35555)。由于最高位的1會因?yàn)椤耙绯觥倍鵁o效,結(jié)果會變成5555。18為什么用補(bǔ)碼相當(dāng)于

5、反碼19為什么用補(bǔ)碼相當(dāng)于反碼不要把這些看成數(shù)(number),而應(yīng)該看成編碼(code)20為什么用補(bǔ)碼相當(dāng)于反碼21為什么用補(bǔ)碼22為什么用補(bǔ)碼23為什么用補(bǔ)碼按這樣的規(guī)定(補(bǔ)碼表示法),數(shù)據(jù)的最高位如果是0,則代表數(shù)本身(非負(fù)數(shù));最高位如果是1,則代表負(fù)數(shù)(該位置能表示的數(shù)的數(shù)量(如256)減去數(shù)本身(如255)的差(如1)的相反數(shù)(如-1)這與前面“符號位+絕對值”表示法規(guī)定正數(shù)的最高位是0,負(fù)數(shù)的最高位是1不謀而合。而且還很好地解決了0有兩種表示方法的問題,10002被用來表示最小的負(fù)數(shù)。24為什么用補(bǔ)碼25為什么用補(bǔ)碼26為什么用補(bǔ)碼27原碼、補(bǔ)碼、補(bǔ)碼表示10進(jìn)制數(shù)(number)8位二進(jìn)制數(shù)(number)二進(jìn)制代碼(code),數(shù)的8位補(bǔ)碼表示(原碼)原碼的補(bǔ)碼(本質(zhì)是code)28補(bǔ)碼29CPU的位數(shù)30操作系統(tǒng)的位數(shù)31講整數(shù)講了這么一大段(主要是令人糾結(jié)的補(bǔ)碼),但是,我們還有小數(shù)。而更令人糾結(jié)的是,計算機(jī)存儲小數(shù)是用浮點(diǎn)(float)。用浮點(diǎn)數(shù)表示很多數(shù)都是不準(zhǔn)確的。用物理學(xué)的術(shù)語來說,浮點(diǎn)數(shù)是量子化的,只能取一些分立的值。32二進(jìn)制小數(shù)33浮點(diǎn)數(shù)34浮點(diǎn)數(shù)格式3532位(單精度)浮點(diǎn)數(shù)格式省略這個1省略這個13632位(單精度)浮點(diǎn)數(shù)3732位(單精度)

溫馨提示

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

評論

0/150

提交評論