版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)中的數(shù)從十進(jìn)制談起常用的十進(jìn)制(Decimal)數(shù),有兩個特點:基數(shù)為10
逢10進(jìn)一以上的概念可以推廣到任意N進(jìn)制十進(jìn)制的權(quán),與數(shù)字所在的位置有關(guān)。例如個位數(shù)的權(quán)是1,十位數(shù)的權(quán)是10,……,所以(123)10=1*102+2*101+3*100推廣下,N進(jìn)制從右起,權(quán)值分別是N0,N1,…計算機(jī)中的數(shù)計算機(jī)中所有的數(shù)都是以二進(jìn)制(Binary)存儲的,每一個0或者1叫做1位(Bit)。二進(jìn)制的優(yōu)點是運(yùn)算簡單,易實現(xiàn)且可靠,為邏輯設(shè)計提供了有利的途徑、節(jié)省設(shè)備。二進(jìn)制也是有缺點的,就是寫起來太長。為了便于描述,也常用八進(jìn)制(Octal)、十六進(jìn)制(Hexadecimal),這兩種進(jìn)制是二進(jìn)制的縮寫。二進(jìn)制運(yùn)算二進(jìn)制的運(yùn)算法則與十進(jìn)制的運(yùn)算法則是相似的。例如求和運(yùn)算:0+0=0,0+1=1,1+0=1,1+1=10不過,計算機(jī)需要記住的運(yùn)算法則就只有上面的四條,二進(jìn)制是不是soeasy?那其它運(yùn)算呢?實際上,計算機(jī)根本不會直接進(jìn)行減法、乘法和除法運(yùn)算,這些運(yùn)算最后都是借助加法運(yùn)算完成的,很神奇吧?存儲單位單個Bit能存儲的信息太少,所以計算機(jī)處理數(shù)的時候,總是以字節(jié)為基本單位。要表示一個數(shù),最少要20字節(jié),不夠的話就21、22、23…字節(jié)。1字節(jié)(Byte)=8位,更多字節(jié)則用2的冪次表示,如1KB=210B,1MB=220B,1GB=230B,1TB=240B…計算機(jī)存儲整數(shù)和存儲浮點數(shù)的方法是不同的,由于存儲浮點數(shù)方法比較復(fù)雜,這里不做具體討論。我們只研究整數(shù)。整數(shù)的表示法之一:原碼原碼的求法如下:忽略符號,除2取余,逆序排列,最后補(bǔ)符號位。符號位總是最高位,0為正,1為負(fù),其余位叫做數(shù)值位。假定用1字節(jié)表示整數(shù),求-44的原碼求法如下: 44/2=22……余0,
22/2=11……余0,
11/2=5……余1,
5/2=2……余1,
2/2=1……余0,
1/2=0……余1于是-44=(10101100)2,順便得到44=(00101100)2第二個0是補(bǔ)足8位用的。整數(shù)的表示法之二:補(bǔ)碼補(bǔ)碼求法如下:正數(shù)的補(bǔ)碼=原碼,負(fù)數(shù)的補(bǔ)碼=其絕對值的原碼逐位取反+1例如44的原碼=(00101100)2
=補(bǔ)碼例如求-44的補(bǔ)碼,則要:
1.求其絕對值的原碼:(00101100)2
2.逐位取反:(11010011)2
3.+1:+1
所以-44的補(bǔ)碼是:(11010100)2已知一個數(shù)的補(bǔ)碼,如何計算這個數(shù)?如果補(bǔ)碼=(00101100)2那么顯然是一個正數(shù),所以這樣求即可:
1*25+1*23+1*22=44如果補(bǔ)碼=(11010100)2那么就要:
1.取反:(00101011)2
2.+1:1
得到:(00101100)2
=44,所以是-44結(jié)論:補(bǔ)碼和原數(shù)(負(fù))的來回轉(zhuǎn)換,都是取反+1補(bǔ)碼的一個有趣的特點符號擴(kuò)展把補(bǔ)碼的符號位向左邊填充,叫做符號擴(kuò)展,例如:結(jié)論是:符號擴(kuò)展不會改變原數(shù)的大小。(注意以上的二進(jìn)制數(shù)應(yīng)該是寫成一串的,為方便查看才特意換行的,第一列數(shù)都表示整數(shù)1,第二列數(shù)都表示整數(shù)-1)原數(shù)(1字節(jié))0000000111111111擴(kuò)展為2字節(jié)000000000000000111111111
11111111擴(kuò)展為4字節(jié)00000000000000000000000000000001111111111111111111111111
11111111總結(jié)一下原碼和補(bǔ)碼兩種碼的共同點是:最高位都是符號位,0表示正數(shù),1表示負(fù)數(shù)。同一個正數(shù),用兩種碼來表示是完全相同的。計算機(jī)使用補(bǔ)碼存儲整數(shù),原碼在浮點數(shù)的存儲中才會被用到。計算機(jī)存儲一個整數(shù),可能使用20,21,22,23……字節(jié)。當(dāng)一個整數(shù)需要擴(kuò)充字節(jié)時,補(bǔ)碼使用符號擴(kuò)展來填充高位。原碼的表達(dá)能力從數(shù)學(xué)角度說,1字節(jié)能表示28=256個數(shù)。接下來的討論僅針對1字節(jié)的情況,不再特意指明。其它情況類推。原碼只能表示255個數(shù),因為00000000和10000000都表示零(一個是+0,一個是-0),所以原碼表示范圍是-127~127。補(bǔ)碼的表達(dá)能力補(bǔ)碼能夠表示256個數(shù),因為只有00000000表示零,10000000則表示-128。零的表示法唯一是補(bǔ)碼的一個優(yōu)點。補(bǔ)碼的表示范圍是-128~127。有符號數(shù)和無符號數(shù)原碼和補(bǔ)碼的最高位表示符號,正0負(fù)1。有些情況下不需要處理負(fù)數(shù),例如人的年齡,此時負(fù)半軸的數(shù)很浪費(fèi)。此時可以約定最高位的符號位不再表示符號,而作為數(shù)值位,這樣原碼補(bǔ)碼的表示范圍都變成0~255,這種數(shù)叫無符號數(shù)。八進(jìn)制和十六進(jìn)制給定一個二進(jìn)制補(bǔ)碼:1011110101101110,你能夠很快記住么?估計很難。八進(jìn)制和十六進(jìn)制是為了方便人們讀寫和記憶而引入的。把一個二進(jìn)制串寫成八進(jìn)制和十六進(jìn)制時,最高位都被看成數(shù)值位(也就是無符號數(shù))。八進(jìn)制使用0-7這八個符號,十六進(jìn)制使用0-9和A-F十六個符號。A表示10,B表示11……F表示15,其中A-F也可以使用小寫字母a..f。上述那個二進(jìn)制串,相當(dāng)于(136556)8或者(BD6E)16,可見使用十六進(jìn)制確實方便得多。八進(jìn)制和二進(jìn)制的相互轉(zhuǎn)換八進(jìn)制二進(jìn)制:每一個八進(jìn)制位,替換成三個的二進(jìn)制位。反之亦然。如:(137)8=(1011111)2八進(jìn)制二進(jìn)制00001001201030114100510161107111十六進(jìn)制和二進(jìn)制的相互轉(zhuǎn)換十六進(jìn)制二進(jìn)制:每一個十六進(jìn)制位,替換成四個的二進(jìn)制位。反之亦然。如:(137)16=(100110111)2十六進(jìn)制二進(jìn)制0000010001200103001140100501016011070111十六進(jìn)制二進(jìn)制8100091001A(a)1010B(b)1011C(c)1100D(d)1101E(e)1110F(f)1111八進(jìn)制和十六進(jìn)制的轉(zhuǎn)換一般來說這種需求不多,如果真要計算,可以采用二進(jìn)制作為中轉(zhuǎn),然后將二進(jìn)制串重新分組后再轉(zhuǎn)換。即:八進(jìn)制二進(jìn)制十六進(jìn)制例如:(37)8=(011111)2重新分組
(011111)2=(1F)16十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換十進(jìn)制十六進(jìn)制:除16取余,然后所有余數(shù)逆序排列。例如求44的十六進(jìn)制,求法如下: 44/16=2……余12(就是C),
2/16=0……余2
于是44=(2C)16上述做法可以推廣到十進(jìn)制N進(jìn)制。例如前面求原碼,用的就是除2取余。十進(jìn)制到十六進(jìn)制的轉(zhuǎn)換十六進(jìn)制十進(jìn)制:按權(quán)重求和。例如求(ABC)16的十進(jìn)制,求法如下:
10*162+11*161+12*160=2748上述做法可以推廣到N進(jìn)制十進(jìn)制。ASCII碼計算機(jī)存儲任何信息都是用二進(jìn)制數(shù),所以字符也用二進(jìn)制存儲。ASCII(AmericanStandardCodeforInformationInterchange,美國信息互換標(biāo)準(zhǔn)代碼)碼規(guī)定了任何一個字符和整數(shù)的對應(yīng)關(guān)系,所以只要存儲了對應(yīng)的整數(shù),就相當(dāng)于存儲了字符。每一個ASCII字符使用1個字節(jié)存儲。ASCII碼中:0~31及127(共33個)是控制字符或通信專用字符(其余為可顯示字符);32~126(共95個)是字符(32是空格),其中48~57為0到9十個阿拉伯?dāng)?shù)字;65~90為26個大寫字母,97~122號為26個小寫字母,其余為一些標(biāo)點符號、運(yùn)算符號等。記住一個結(jié)論:ASCII中,所有大寫字母是連續(xù)編碼,所有小寫字母是連續(xù)編碼,所有數(shù)字字符是連續(xù)編碼。幾個字符的ASCII值(16進(jìn)制格式):空格:20'0':30,
可類推:'1':31,'2':32,…'A':41,可類推:'B':42,'C':43,…'a':61,可類推:'b':62,'c':63,…擴(kuò)展ASCII字符是從128到255(0x80-0xff)的字符,但不是每臺計算機(jī)都支持,所以能不用盡量不用。本章習(xí)題-1/2
求下列各數(shù)的補(bǔ)碼的8進(jìn)制和16進(jìn)制表示(每個數(shù)用2字節(jié)存儲):(1)10(2)3
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 男寶寶周歲協(xié)議書
- 蔬菜送貨協(xié)議書
- 設(shè)備安拆協(xié)議書
- 設(shè)備租合同范本
- 試驗機(jī)構(gòu)協(xié)議書
- 工程導(dǎo)師協(xié)議書
- 并購保障協(xié)議書
- 房貸還款的協(xié)議書
- 打捆秸稈合同范本
- 意法停戰(zhàn)協(xié)議書
- 2025年下半年貴州遵義市市直事業(yè)單位選調(diào)56人備考筆試題庫及答案解析
- 出納勞務(wù)合同范本
- 2025年財政與稅務(wù)管理專業(yè)知識考試試卷及答案
- 2025年云南省人民檢察院聘用制書記員招聘(22人)考試筆試備考試題及答案解析
- 河北省廊坊市三河市2024-2025學(xué)年四年級上學(xué)期期末語文試題
- 醫(yī)院擴(kuò)容提升改造建設(shè)項目可行性研究報告
- 中國馬克思主義與當(dāng)代思考題(附答案)
- 智能信報箱系統(tǒng)施工方案
- 嚴(yán)歌苓作品:霜降
- 西爾斯懷孕百科(升級版)
- 樓梯工程量計算表(模板、砼計算)
評論
0/150
提交評論