第2次小課 算術(shù)、邏輯運(yùn)算,字符型、浮點(diǎn)型數(shù)據(jù),漢字機(jī)內(nèi)表示法_第1頁
第2次小課 算術(shù)、邏輯運(yùn)算,字符型、浮點(diǎn)型數(shù)據(jù),漢字機(jī)內(nèi)表示法_第2頁
第2次小課 算術(shù)、邏輯運(yùn)算,字符型、浮點(diǎn)型數(shù)據(jù),漢字機(jī)內(nèi)表示法_第3頁
第2次小課 算術(shù)、邏輯運(yùn)算,字符型、浮點(diǎn)型數(shù)據(jù),漢字機(jī)內(nèi)表示法_第4頁
第2次小課 算術(shù)、邏輯運(yùn)算,字符型、浮點(diǎn)型數(shù)據(jù),漢字機(jī)內(nèi)表示法_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2次 字符、漢字、浮點(diǎn)型數(shù)據(jù)機(jī)內(nèi)表示法及算術(shù)、邏輯運(yùn)算,張莉娜 軟件工程系,實(shí)驗(yàn)?zāi)康?掌握浮點(diǎn)型數(shù)據(jù)的機(jī)內(nèi)存儲規(guī)律; 掌握字符、漢字的機(jī)內(nèi)存儲規(guī)律; 掌握算術(shù)、邏輯運(yùn)算技巧;,一.浮點(diǎn)數(shù)的表示,IEEE 7541985標(biāo)準(zhǔn)簡介 IEEE 7541985標(biāo)準(zhǔn)規(guī)定了float(單精度型)、 double(雙精度型)浮點(diǎn)數(shù)R的二進(jìn)制存儲的編碼 格式如下: 對于float型,IEEE 7541985標(biāo)準(zhǔn)規(guī)定用32位二進(jìn)制編碼表示,具體如下: 最高位31位,保存符號位S,“O”表示正數(shù),“1”表示負(fù)數(shù)。 3O位-23位,共8位,移碼方式(指數(shù)值加上偏移量127)保存指數(shù)部分,稱為階碼。 如十進(jìn)制數(shù)13

2、.75浮點(diǎn)數(shù)表示形式為:,符號S,指數(shù)E,尾數(shù)M,二.字符的表示,字符信息用二進(jìn)制數(shù)據(jù)表示,稱為符號數(shù)據(jù)。目前國際上普遍采用的一種字符系統(tǒng)是美國信息交換標(biāo)準(zhǔn)字符碼(ASCII),用于給西文字符編碼,這種編碼由7位二進(jìn)制數(shù)組合而成,可以表示128種字符。在計(jì)算機(jī)中,每個(gè)字符占用一個(gè)字節(jié)空間,最高位置“0”。 在ASCII碼中,按其作用可分為以下4部分。 (1) 34個(gè)控制字符。 (2) 10個(gè)阿拉伯?dāng)?shù)字。 (3) 52個(gè)英文大小寫字母。 (4) 32個(gè)專用符號。,三.漢字存儲的機(jī)內(nèi)碼,1.漢字編碼 國家標(biāo)準(zhǔn) GB2312 一個(gè)漢字和4個(gè)十進(jìn)數(shù)字對應(yīng) 前兩個(gè)稱為區(qū)號 194 后兩個(gè)稱為位號 194

3、 極限編碼8836個(gè),其中已定義 6763個(gè) 漢字 分為 一級 3755個(gè) 二級 3008個(gè) 682個(gè) 非漢字圖形字符,三.漢字存儲的機(jī)內(nèi)碼,2.漢字機(jī)內(nèi)碼 最常用的一種內(nèi)部碼 格式是: (1)一個(gè)漢字的內(nèi)碼占據(jù)兩個(gè)字節(jié)。 (2)每個(gè)字節(jié)中使用標(biāo)志位來表示這是個(gè)漢字字節(jié)還是個(gè)ASCIl碼字符字節(jié);漢字的第一個(gè)字節(jié)的標(biāo)志位為“1”,第二個(gè)字節(jié)的標(biāo)志位可以是“1”也可以是“0”;ASCIl碼字符的標(biāo)志位為“0”。 (3)漢字的第一個(gè)字節(jié)中除標(biāo)志位外的其余7位內(nèi)容是:漢字的GB2312碼區(qū)號+32;第二個(gè)字節(jié)標(biāo)志位外的其余7位內(nèi)容是:漢字的GB2312碼位號+32(見圖5-13)。,三.漢字存儲的機(jī)

4、內(nèi)碼,這種方案實(shí)現(xiàn)的前提是:系統(tǒng)使用7單位的ASCIl碼表示字符每個(gè)字符編碼用一個(gè)字節(jié)存儲,這樣就有一個(gè)“空閑”位可以用作漢字或者字符的標(biāo)志位。 那么,為什么漢字內(nèi)碼不直接用國標(biāo)碼的區(qū)號和位號來表示,而要作一個(gè)加32的移位呢?這是種以防萬一的考慮。區(qū)、位號的取值范圍是l94,加上32后,碼值在33126之間。這樣就避過ASCIl碼的控制字符區(qū)間(032)。萬一系統(tǒng)沒有漢字處理能力,把漢字內(nèi)碼字節(jié)的右7位當(dāng)作字符處理,也只是錯(cuò)為可印出字符,引起混亂的程度也許不那么嚴(yán)重。 如:2020 創(chuàng) 44,三.漢字存儲的機(jī)內(nèi)碼,例:已知“廣東”這兩個(gè)漢字的內(nèi)部碼為:B9E3和B6AB,請問它們的區(qū)位碼分別是

5、什么? 解:首先看“廣”字,每個(gè)字節(jié)的最高位變?yōu)?后則為(39)H和(63)H 每個(gè)字節(jié)減去20H(32)后則為(19)H和(43) H 轉(zhuǎn)換成十進(jìn)制就是25和67,他就是“廣”字的區(qū)碼和位碼,所以“廣”字的區(qū)位碼就是:2567 同理,“東” 字的區(qū)位碼是:2211 驗(yàn)證:首先用記事本寫入兩個(gè)字“廣東”,然后再用16進(jìn)制編輯器打開這個(gè)文本文件,可以看到“廣東”兩個(gè)字的機(jī)內(nèi)碼是B9E3和B6AB。 然后,再用區(qū)位碼輸入法輸入: 2567和2211就可以在文本編輯器中看到“廣東”兩個(gè)漢字。,四.算術(shù)運(yùn)算,1.補(bǔ)碼加法運(yùn)算 X+Y 補(bǔ)= X補(bǔ)+Y補(bǔ) 2.補(bǔ)碼減法運(yùn)算 X-Y補(bǔ) = X+(-Y)補(bǔ) =

6、X補(bǔ)+-Y補(bǔ),四.算術(shù)運(yùn)算,例1 X=(1001010)2,Y=(-101001) 2,用補(bǔ)碼加法求XY=? 解: X補(bǔ)01001010 Y補(bǔ)11010111 。 用補(bǔ)碼運(yùn)算: 用真值運(yùn)算: X補(bǔ) 01001010 1001010 X Y補(bǔ) 11010111 - 101001Y 丟掉1 00100001 XY補(bǔ) 0100001 XY X+Y補(bǔ)=X補(bǔ)Y補(bǔ)= 01001010 11010111= 00100001 由補(bǔ)碼運(yùn)算結(jié)果可知:XY= 00100001 。 這與真值運(yùn)算的結(jié)果一致。,四.算術(shù)運(yùn)算,例2X=1101010,Y=110100,用補(bǔ)碼加法求XY=? 解: X補(bǔ)01101010 ,Y

7、補(bǔ)00110100 , Y補(bǔ)11001100 XY補(bǔ)=X補(bǔ)Y補(bǔ) =0110101011001100=00110110 則: XY=110110。,五.邏輯運(yùn)算,1.“與”(AND)運(yùn)算的規(guī)則如下: 000 010 100 111 式中,“”是“與”運(yùn)算符號,通常也可用“”代替。由規(guī)則看出 C=AB式中,只有當(dāng)A與B同時(shí)為“1”時(shí),結(jié)果C才為“1”;否則,C總為0。 例如,兩個(gè)8位二進(jìn)制數(shù)的“與”運(yùn)算結(jié)果如下 : 10110110 11010111= 10010110 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 1 1 0,五.邏輯運(yùn)算,2.“或”(OR)

8、運(yùn)算的規(guī)則如下: 0 00 0 11 1 01 1 11 式中,“”是“或”運(yùn)算符號,通常也可用“+”代替。由規(guī)則看出 C=A B式中,只有當(dāng)A與B同時(shí)為“0”時(shí),結(jié)果C才為“0”;否則,C總為1。如兩個(gè)8位二進(jìn)制數(shù)“與”運(yùn)算結(jié)果如下 : 10110010 11010111= 10110111 1 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1,五.邏輯運(yùn)算,3.“非”(NOT)運(yùn)算的規(guī)則如下: 0 = 1 1 = 0 式中,“”是“非”運(yùn)算符號。“非”運(yùn)算的一般式為: C = A 該式表明,C為A的非。例如,對二進(jìn)制數(shù)的11001010進(jìn)行“非”運(yùn)

9、算,則得其反碼00110101。,五.邏輯運(yùn)算,4.“異或”(EOR:Exclusive OR)運(yùn)算的規(guī)則如下: 00= 0 01= 1 10=1 11=0 式中,“”是“異或”運(yùn)算符號。“異或”運(yùn)算的一般式為 C=AB 當(dāng)A與B值相異時(shí),結(jié)果C才為“1”;否則,C為0。例如,兩個(gè)8位二進(jìn)制數(shù)的“異或”運(yùn)算結(jié)果如下: 10100110 11010111 = 01110001 1 0 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 0 1 計(jì)算機(jī)中的邏輯運(yùn)算是按位計(jì)算的(沒有進(jìn)位問題),它是一種比算術(shù)運(yùn)算更為簡單的運(yùn)算。,課堂作業(yè),1.按照計(jì)算機(jī)字長8位,完成下列計(jì)算,并判斷溢出情況。A=110110B; B=-1101101B; C=1101B 求:A+B補(bǔ);A+C補(bǔ);B+C補(bǔ) 2.兩個(gè)8位二進(jìn)制數(shù):A=01110110B; B=01101101B;求:

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論