單片微型計算機(jī)C第3講(機(jī)械)_第1頁
單片微型計算機(jī)C第3講(機(jī)械)_第2頁
單片微型計算機(jī)C第3講(機(jī)械)_第3頁
單片微型計算機(jī)C第3講(機(jī)械)_第4頁
單片微型計算機(jī)C第3講(機(jī)械)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

上節(jié)內(nèi)容回顧數(shù)制及其轉(zhuǎn)換機(jī)器碼的概念機(jī)器碼的分類及求法練習(xí)給定X=-38,Y=+87,分別用8位機(jī)器數(shù)的原碼和反碼表示(含1位符號位,數(shù)據(jù)位為7位,結(jié)果用十六進(jìn)制數(shù)表示)。并完成[X]反+[Y]反的操作。第3講教學(xué)目的和要求【教學(xué)目標(biāo)】通過講述計算機(jī)中數(shù)據(jù)的表示方法,掌握單片機(jī)中常見數(shù)制的表示和轉(zhuǎn)換方法;了解帶符號數(shù)在計算機(jī)中的表示方法,以及為保證數(shù)據(jù)可靠性的編碼方法?!窘虒W(xué)重點】①數(shù)制之間的轉(zhuǎn)換方法;②有符號數(shù)的加減法運算;【教學(xué)難點】有符號數(shù)二進(jìn)制數(shù)據(jù)的表示與運算。第二章數(shù)制③補(bǔ)碼表示法【補(bǔ)碼,two‘scomplement】機(jī)器數(shù)的最高位為符號位,0表示正數(shù),1表示負(fù)數(shù)。若為正數(shù),數(shù)值以絕對值的形式緊跟其后;若為負(fù)數(shù),則在反碼的基礎(chǔ)上+1。③補(bǔ)碼表示法【舉例】①給定X=+1011001,求X的補(bǔ)碼。

解:X為正數(shù),故[X]補(bǔ)=01011001②給定Y=-1100101,求Y的補(bǔ)碼。解:Y為負(fù)數(shù),故[Y]補(bǔ)=100110110的補(bǔ)碼是多少呢?[+0]補(bǔ)=000……0[-0]補(bǔ)=000……00的補(bǔ)碼具有唯一形式補(bǔ)碼加減法【補(bǔ)碼加減法步驟】用補(bǔ)碼表示的兩數(shù)進(jìn)行加法運算,結(jié)果仍為補(bǔ)碼;

[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)

;

[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)

;④符號位與數(shù)值位一起參與運算。補(bǔ)碼加減法【舉例】①給定X=-1010,Y=+0101,求X+Y。

解:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)=10110+00101=11011……-0101……(-5)10②給定X=-1010,Y=0101,求X-Y。解:[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)=10110+11011=10001……-1111……(-15)10原、反、補(bǔ)碼間變換①若為正數(shù),則有[X]原=[X]反=[X]補(bǔ)。②若為負(fù)數(shù),則有:符號位保持不變;原碼轉(zhuǎn)換成反碼,數(shù)值位逐位取反;反碼轉(zhuǎn)換成補(bǔ)碼,數(shù)值位+1;原碼與補(bǔ)碼間轉(zhuǎn)換,取反+1。已知[x]原=10100101,則[x]補(bǔ)=11011011舉例10110111對于負(fù)數(shù),將介于符號位與最右端的1之間數(shù)取反即可完成原碼與補(bǔ)碼之間的轉(zhuǎn)換原反補(bǔ)碼表示的范圍不同碼制之間對照無符號數(shù)真值原碼反碼補(bǔ)碼00000000000000000000000001000000010000000100000001……………………126011111100111111001111110127011111110111111101111111-0100000001111111100000000-1100000011111111011111111……………………-127111111111000000010000001-128————100000002.4

幾種常見的編碼在計算機(jī)中,用純二進(jìn)制序列表示自然界中的數(shù)據(jù)時,可能存在的問題:①用二進(jìn)制表示一個數(shù)據(jù),長度超出容忍的范圍,例如(1026)10=(10000000010)2,不方便記憶和轉(zhuǎn)換。②二進(jìn)制序列在傳輸過程中,可能受干擾出錯,能否降低出錯的概率?③如何自動對出錯數(shù)據(jù)進(jìn)行檢測和修正。④字符在計算機(jī)中如何表示2.4.1

BCD碼BCD碼:用4位二進(jìn)制代碼對十進(jìn)制數(shù)字符號進(jìn)行編碼,簡稱為二–十進(jìn)制代碼,或稱BCD(BinaryCodedDecimal)碼。常用的BCD碼有8421碼、余3碼等。8421碼8421碼:是用4位二進(jìn)制碼表示一位十進(jìn)制字符的一種有權(quán)碼,4位二進(jìn)制碼從高位至低位的權(quán)依次為23、22、21、20,即為8、4、2、1,故稱為8421BCD碼,簡稱8421碼。從上表可知按8421碼編碼的0~9與用4位二進(jìn)制數(shù)表示的0~9完全一樣。所以,8421碼是一種人機(jī)聯(lián)系時廣泛使用的中間形式。十進(jìn)制01234567898421碼00000001001000110100010101100111100010011010、1011、1100、1101、1110、1111為非法編碼。8421碼8421碼與二進(jìn)制數(shù)表示數(shù)據(jù)的區(qū)別分別用8421碼和二進(jìn)制來表示十進(jìn)制數(shù)據(jù)28【例】(28)10=(11100)B=(00101000)8421碼新的問題出現(xiàn)了8421碼的加減法BCD運算6+7=130110+01111101修正+0110

10011000解決方法余三碼可以解決運算過程中的問題當(dāng)兩個1位BCD相加之和小于(1001)2即(9)10時,無需修正;相加之和大于9時,需要進(jìn)行加6修正且向高位進(jìn)位。余三碼余三碼:由8421碼加上0011形成的一種無權(quán)碼,由于它的每個字符編碼比相應(yīng)的8421碼多3,故稱為余三碼。是BCD碼的一種。十進(jìn)制0123456789余三碼00110100010101100111100010011010101111000000、0001、0010、1101、1110、1111為非法編碼?!纠?256)10=(010110001001)余3碼

(1000100110011011)余3碼

=(5668)10

余三碼余三碼的運算兩個余三碼表示的十進(jìn)制數(shù)字相加時,能產(chǎn)生正確進(jìn)位信號,但對“和”必須修正。修正的方法是:如果有進(jìn)位,則結(jié)果加3;如果無進(jìn)位,則結(jié)果減3。

2.4.2

ASCII碼ASCII碼:AmericanStandardCodeforInformationInterchange,(美國標(biāo)準(zhǔn)信息交換代碼)是基于拉丁字母的一套計算機(jī)編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言。是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng)。2.4.3

可靠性編碼作用:提高系統(tǒng)的可靠性。代碼在形成和傳送過程中都可能發(fā)生的錯誤。為了減少或者發(fā)現(xiàn)這種錯誤,形成了各種編碼方法。介紹兩種常用的可靠性編碼。

格雷碼奇偶校驗碼格雷碼格雷(Gray)碼特點:任意兩個相鄰的數(shù),其格雷碼僅有一位不同。作用:避免代碼形成或者變換過程中產(chǎn)生的錯誤。數(shù)據(jù)格雷碼數(shù)據(jù)格雷碼00000000100011000001000110011101001000111010111100110010101111100100011011001010010101111101101101100101111010010111010011111000四位二進(jìn)制數(shù)的格雷碼格雷碼ABCD左圖中,傳輸?shù)乃奈粩?shù)據(jù)在7跳變到8時,相應(yīng)的二進(jìn)制數(shù)據(jù)從0111→1000,對應(yīng)到每條數(shù)據(jù)線上均會發(fā)生電平的反轉(zhuǎn),可能造成干擾。格雷碼的設(shè)計原則即是保證相鄰數(shù)據(jù)中僅有1位不同。由二進(jìn)制轉(zhuǎn)換成格雷碼的方法,從二進(jìn)制最低位開始,所有相鄰兩位異或,最高位保留,得到的即是格雷碼。練習(xí)求二進(jìn)制數(shù)據(jù)011100110101B對應(yīng)的格雷碼。數(shù)據(jù)校驗碼

解決辦法采用可靠器件;提高計算機(jī)抗干擾能力;采用更好的編碼方式。采用數(shù)據(jù)校驗碼發(fā)現(xiàn)并糾正錯誤。無法完全避免發(fā)送數(shù)據(jù)校驗碼產(chǎn)生電路校驗電路接收數(shù)據(jù)發(fā)送端接收端傳輸途徑數(shù)據(jù)校驗碼原理現(xiàn)有4位二進(jìn)制數(shù)據(jù)。正常情況下可以表示16個數(shù)據(jù),且均為有效編碼。若錯一位或多位,會轉(zhuǎn)換成另外一個正確數(shù)據(jù)。增加校驗碼的情況下datadatadatadata0000010010001100000101011001110100100110101011100011011110111111采用奇校驗方式。最高位為校驗碼,后三位為數(shù)據(jù)位,四位數(shù)據(jù)中保證數(shù)字1的個數(shù)為奇數(shù)個。上表中紅色字即為非法編碼。數(shù)據(jù)校驗碼定義【數(shù)據(jù)校驗碼】在數(shù)據(jù)的特定位置插入1位或多位的二進(jìn)制數(shù)據(jù),起到發(fā)現(xiàn)錯誤和糾正錯誤作用的編碼。常見的數(shù)據(jù)校驗碼包括:奇偶校驗碼海明碼CRC冗余校驗碼奇偶校驗碼奇校驗:整個傳送數(shù)據(jù)(數(shù)據(jù)+校驗碼)中1的個數(shù)為奇數(shù)個;偶校驗:整個傳送數(shù)據(jù)(數(shù)據(jù)+校驗碼)中1的個數(shù)為偶數(shù)個。有效信息位XC奇偶校驗位n位1位數(shù)據(jù)奇校驗偶校驗10101011101010101010101111111101111111111111110000000100000000000000011010110110101111101011練習(xí)對給定的數(shù)據(jù),當(dāng)計算機(jī)采用奇校驗和偶校驗時,得到的帶校驗位的是多少?數(shù)據(jù)00110111010100110011000110012.5二進(jìn)制運算中的一些問題運算的結(jié)果超出表示范圍怎么辦如何檢測這種情況什么叫移位加減法運算的溢出處理當(dāng)運算結(jié)果超出機(jī)器數(shù)表示的范圍時,稱為溢出。負(fù)+負(fù),負(fù)-正,正+正,正-負(fù)可能產(chǎn)生溢出定點整數(shù)補(bǔ)碼表示的范圍0+2n-1-2n數(shù)軸正溢出負(fù)溢出加減法運算的溢出處理補(bǔ)碼運算舉例1+7=800001+0011101000無溢出12+7=1901100+0011110011正溢出③(-9)+(-5)=-1410111+11011110010無溢出④(-12)+(-7)=-1910100+11001101101負(fù)溢出最簡單判溢出方法:利用雙符號判斷在補(bǔ)碼表示時,用相同的兩個符號位來表示符號。運算完畢后,如果兩符號位相等,運算結(jié)果正確;若不相等,則發(fā)生溢出。-9-5=-14110111+111011111001012+7=19001100+000111010011①fs1=fs2=1,未溢出②fs1=1,fs2=0,溢出溢出條件V=fs1⊕fs2定點數(shù)的移位運算移位情況移位結(jié)果比較左移1位145145=14.5×101左移2位14501450=14.5×102右移1位1.451.45=14.5×10-1右移2位0.1450.145=14.5×10-2【移位】定點數(shù)小數(shù)點保持不變,數(shù)值整體向左或向右移動若干位;【例子】對于十進(jìn)制數(shù)據(jù)14.5【結(jié)論】N進(jìn)制數(shù)據(jù)M,左移n位,結(jié)果K=M×NnN進(jìn)制數(shù)據(jù)M,右移n位,結(jié)果K=M×N-n定點數(shù)的移位運算【左移】某二進(jìn)制數(shù)左移,得到某數(shù)的2倍;【右移】某二進(jìn)制數(shù)右移,得到某數(shù)的1/2倍。以原碼為例,設(shè)[X]原=00110=+6,[Y]原=10100=-4,求其分別左移和右移后的結(jié)果。①X左移1位后01100=+12,右移1位后00011=+3②Y左移1位后11000=-8,右移

溫馨提示

  • 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

提交評論