版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、上節(jié)內(nèi)容回顧 單片機(jī)的概念 微型計算機(jī)的組成及簡要工作原理 MCS51單片機(jī)簡介第二章 數(shù)制2.1 數(shù)制數(shù)制:各種進(jìn)位計數(shù)制,如十進(jìn)制表示方法中,遵循“逢十進(jìn)一”的原則。常見的數(shù)制包含:十進(jìn)制二進(jìn)制八進(jìn)制十六進(jìn)制2.1.1 十進(jìn)制十進(jìn)制為日常生活中常用的數(shù)制,具有特點:包含10個有序的符號09?;鶖?shù)R為10,即“逢十進(jìn)一”的進(jìn)位原則。其英文名稱為Decimal System,簡稱D。例如十進(jìn)制數(shù)2187.74可表示為: (2187.74)D = 2103+1102+8101+7100+710-1+410-2其中:103、102、101、100、10-1、10-2為不同位置的權(quán)。任意十進(jìn)制數(shù)都可
2、展開為按權(quán)展開式: iiiDKN10)(2.1.2 二進(jìn)制二進(jìn)制為計算機(jī)中采用的數(shù)制,具有特點:僅包含2個符號0和1。基數(shù)R為2,即“逢二進(jìn)一”的進(jìn)位原則。按權(quán)展開的表達(dá)式為其英文名稱為Binary system ,簡稱B。iiiBKN2)(【例1】(1101)B =123+122+021+120=(13)D【例2】(0.101)B = ?二進(jìn)制的運(yùn)算規(guī)則運(yùn)算方法運(yùn)算情況加法0+0=00+1=11+0=11+1=0(C=1)減法0+0=00-1=1(C=1)1-0=11-1=0乘法00=001=010=011=1除法00非法01=011非法11=1二進(jìn)制的運(yùn)算規(guī)則較為簡單1 1 0 0 1+
3、1 0 11 1 1 1 01 1 0 0 1- 1 0 11 0 1 0 01 1 0 0 1 1 0 11 1 0 0 10 0 0 0 01 1 0 0 1 1 1 1 1 1 0 11 1 0 0 1 1 0 1 1 1 0 1 10 1 1 0 100 1二進(jìn)制運(yùn)算舉例【例】二進(jìn)制數(shù)A=11001, B=101, 則A+B、A-B、AB、AB【優(yōu)點】 運(yùn)算簡單、物理實現(xiàn)容易、存儲和傳送方便、可靠。【缺點】數(shù)的位數(shù)太長且字符單調(diào),使得書寫、記憶和閱讀不 方便。 二進(jìn)制優(yōu)缺點為了克服二進(jìn)制的缺點,在進(jìn)行指令書寫、程序輸入和輸出等工作時,通常采用八進(jìn)制數(shù)和十六進(jìn)制數(shù)作為二進(jìn)制數(shù)的縮寫。 【
4、八進(jìn)制,Octal System】由8個字符07構(gòu)成,逢八進(jìn)一?!臼M(jìn)制,Hexadecimal System】由十個字符09與AF六個字母構(gòu)成,逢十六進(jìn)一。2.2 數(shù)制間的轉(zhuǎn)換數(shù)制二進(jìn)制(Binary)八進(jìn)制(Octal)十進(jìn)制(Decimal)十六進(jìn)制(Hex)需要解決的問題:各進(jìn)制之間如何相互轉(zhuǎn)換?十?dāng)?shù)制與其它數(shù)制的轉(zhuǎn)換十進(jìn)制(D.X)二進(jìn)制八進(jìn)制 (n)十六進(jìn)制整數(shù)部分模n取余逆序法小數(shù)部分乘n取整正序法數(shù)與位權(quán)相乘累加其它進(jìn)制到十進(jìn)制的轉(zhuǎn)換采用的方法:將非十進(jìn)制數(shù)采用按權(quán)展開式進(jìn)行相加即可得到轉(zhuǎn)換結(jié)果?!纠?】(136.2)O= (?)D【例3】(BD2.3C)H =(?)D【例1
5、】(10111.11)B= (?) D 解:(10111.11)B = 124+122+121+120+12-1+12-2 =(23.75)D 解:(136.2)O= 182+381+680+28-1=(94.25)D二數(shù)制到十?dāng)?shù)制的轉(zhuǎn)換p舉例 將(12.625)10轉(zhuǎn)換成二進(jìn)制數(shù)。1226 023 021 120 1(12)10=(1100)20.6252=1.25 10.252=0.5 00. 52=1.0 1(0.625)10=(0.101)2(12.625)10=(1100.101)2練習(xí):將十進(jìn)制數(shù)11.75轉(zhuǎn)換成二進(jìn)制數(shù)其他方法【觀察拼湊法】 對于絕對值較小的數(shù)據(jù),通過判斷其值的范
6、圍,確定組成其值的權(quán)位。求248的二進(jìn)制數(shù)據(jù)248=255-7=(1111,1111)2-(0000,0111)2=(1111,1000)2求72的二進(jìn)制數(shù)據(jù)72=64+8=(1001000)2心得:熟練掌握2i(010)的值。細(xì)心,做完后反算進(jìn)行驗算。二進(jìn)制到八、十六進(jìn)制的轉(zhuǎn)換 以小數(shù)點為中心,向左向右取3或4位轉(zhuǎn)換p舉例 將(10101110.11000010)2轉(zhuǎn)換成八進(jìn)制和十六進(jìn)制數(shù)。10 101 110 .110 000 10二八進(jìn)制6520600410101110.1100 0010二十六進(jìn)制EAB2C 【練習(xí)】將十進(jìn)制數(shù)65535轉(zhuǎn)換為十六進(jìn)制數(shù)。 2.3 有符號二進(jìn)制數(shù)的表示方
7、法如:純小數(shù)-0.0110可表示成1.0110計算機(jī)只識別“0”和“1”,數(shù)據(jù)的符號位怎么表示?1表示負(fù)號,0表示正號。自然界中一個數(shù)據(jù)在計算機(jī)中的表示形式稱為“機(jī)器數(shù)”,而數(shù)據(jù)本身稱之為“真值”。真值與機(jī)器數(shù)概念p在計算機(jī)中表示的帶符號的二進(jìn)制數(shù)稱為“機(jī)器數(shù)”。p機(jī)器數(shù)是將符號“數(shù)字化”的數(shù)據(jù)表示方式。p機(jī)器數(shù)主要有三種表示方式:原碼、補(bǔ)碼和反碼。p將帶“+”或“-”符號的數(shù)稱為“真值”。 通常為正負(fù)號(+,-)后緊跟絕對值表示,如+3,-9在進(jìn)行運(yùn)算時,原碼的符號位不參與運(yùn)算,而補(bǔ)碼和反碼的符號位參與運(yùn)算。原碼表示法【原碼, true form】機(jī)器數(shù)的最高位為符號位,0表示正數(shù),1 表示
8、負(fù)數(shù),數(shù)值以絕對值的形式緊跟其后。原碼表示法【舉例】給定X=+1011001,求X的原碼。 解:X為正數(shù),故X原=01011001給定Y=-1100101,求Y的原碼。 解:Y為負(fù)數(shù),故Y原=111001010的原碼是多少呢?+0原=0000 -0原=1000 0的原碼有兩種形式原碼表示法【原碼加減法步驟】兩數(shù)相加若同號,則直接相加;兩數(shù)相加若異號,則要進(jìn)行減法;減法時,需要比較兩數(shù)絕對值大小,大數(shù)減去小數(shù),以絕對值大的數(shù)確定符號。設(shè)X=+1001,Y=+0010,求X+Y原。 解:X原=01001, Y原=00010則X+Y原=X原+Y原 =01001+00010=01011設(shè)X=+1001
9、,Y=-0010,求X+Y原。 解:X原=01001, Y原=10010 X原+Y原 =01001+10010 =11011(-11)10因為|X|Y|, 有|X|-|Y| =1001-0010 =0111 X+Y原=00111反碼表示法【反碼 , ones complement 】機(jī)器數(shù)的最高位為符號位,0表示正數(shù),1 表示負(fù)數(shù)。若為正數(shù),數(shù)值以絕對值的形式緊跟其后;若為負(fù) 數(shù),數(shù)值則以絕對值的相反數(shù) 緊跟其后。反碼表示法【舉例】給定X=+1011001,求X的反碼。 解:X為正數(shù),故X反=01011001給定Y=-1100101,求Y的反碼。 解:Y為負(fù)數(shù),故Y反=100110100的反碼
10、是多少呢?+0反=0000 -0反=1111 反碼表示法【反碼加減法步驟】兩數(shù)無論同異號,可直接相加減;兩數(shù)相加時,最高位若有進(jìn)位,需要在最低位+1;兩數(shù)相減時,最高位若有借位,需要在最低位-1。設(shè)X=+1001,Y=+0010,求X+Y反。 解:X反=01001, Y反=00010則X+Y反反=X反反+Y反反 =01001+00010=01011設(shè)X=+1001,Y=-0010,求X+Y反。 解:X反=01001, Y反=11101 X反反+Y反反 =01001+11101 =100110=(+6)10因為有進(jìn)位,需要在最低位加1 X+Y反反=00110+1=00111反碼表示法【課堂練習(xí)】
11、設(shè)X=-1001,Y=-0010,求X+Y反。 解: X反=10110, Y反=11101 X+Y反反=X反反+Y反反 =10110+11101 =10100-1011(-11)10設(shè)X=+1001,Y=-0010,求X-Y反。解: X反=01001, Y反=11101 X-Y反反=X反反-Y反反 =01001-11101 =01011+1011(11)10 10110 +11101= 110011 + 1 = 10100 01001 - 11101= 101100 - 1 = 01011練習(xí) 給定X=+27,Y=-56,分別用8位機(jī)器數(shù)的原碼和反碼表示(含1位符號位,數(shù)據(jù)位為7位,結(jié)果用十六
12、進(jìn)制數(shù)表示)。并完成X反+Y反的操作。補(bǔ)碼表示法【補(bǔ)碼, twos complement】機(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ǔ)=0000 -0補(bǔ)=0000 補(bǔ)碼加減法【補(bǔ)碼加減法步驟】用補(bǔ)碼表示的兩數(shù)進(jìn)行加法運(yùn)算,結(jié)果仍為補(bǔ)碼 ; X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) ; X-Y補(bǔ)=X補(bǔ)+-Y補(bǔ) ;符號位與數(shù)值位一起參與運(yùn)算。補(bǔ)碼
13、加減法【舉例】給定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ǔ)補(bǔ)=11011011舉例1011011 1不同碼制之間對照無符號數(shù)真值原碼反碼補(bǔ)碼00000 000
14、00000 00000000 000010000 00010000 00010000 00011260111 11100111 11100111 11101270111 11110111 11110111 1111-01000 00001111 11110000 0000-11000 00011111 11101111 1111-1271111 11111000 0000100000002.4 幾種常見的編碼在計算機(jī)中,用純二進(jìn)制序列表示自然界中的數(shù)據(jù)時,可能存在的問題:用二進(jìn)制表示一個數(shù)據(jù),長度超出容忍的范圍,例如(1026)10=(10000000010)2,不
15、方便記憶和轉(zhuǎn)換。二進(jìn)制序列在傳輸過程中,可能受干擾出錯,能否降低出錯的概率?如何自動對出錯數(shù)據(jù)進(jìn)行檢測和修正。2.4.1 BCD碼BCD碼:用4位二進(jìn)制代碼對十進(jìn)制數(shù)字符號進(jìn)行編碼,簡稱為二十進(jìn)制代碼,或稱BCD (Binary Coded Decimal)碼。常用的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碼編碼的09與用4位二進(jìn)制數(shù)表示的09完全一樣。所以,8421碼是一種人機(jī)聯(lián)系時廣泛使用的
16、中間形式。十進(jìn)制01234567898421碼 0000 0001 0010 0011 0100 0101 0110 0111 1000 10011010、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=(0010 1000)8421碼? 新的問題出現(xiàn)了 8421碼的加減法BCD運(yùn)算6+7=130110+ 0111 1101修正+ 0110 1 0011000 解決方法 余三碼可以解決運(yùn)算過程中的問題p 當(dāng)兩個1位BCD相加之和小于(1001)2即
17、(9)10時,無需修正;p 相加之和大于9時,需要進(jìn)行加6修正且向高位進(jìn)位。余三碼余三碼:由8421碼加上0011形成的一種無權(quán)碼,由于它的每個字符編碼比相應(yīng)的8421碼多3,故稱為余三碼。是BCD碼的一種。 十進(jìn)制0123456789余三碼 0011 0100 0101 0110 0111 1000 1001 1010 1011 11000000、0001、0010、1101、1110、1111為非法編碼?!纠?(256)10 = (0101 1000 1001)余3碼 (1000 1001 1001 1011)余3碼 = (5668)10 余三碼余三碼的運(yùn)算 兩個余三碼表示的十進(jìn)制數(shù)字相
18、加時,能產(chǎn)生正確進(jìn)位信號,但對“和”必須修正。修正的方法是:如果有進(jìn)位,則結(jié)果加3;如果無進(jìn)位,則結(jié)果減3。2.4.2 可靠性編碼作用: 提高系統(tǒng)的可靠性。代碼在形成和傳送過程中都可能發(fā)生的錯誤。為了減少或者發(fā)現(xiàn)這種錯誤,形成了各種編碼方法。介紹兩種常用的可靠性編碼。 格雷碼奇偶校驗碼格雷碼格雷(Gray)碼 特點:任意兩個相鄰的數(shù),其格雷碼僅有一位不同。 作用:避免代碼形成或者變換過程中產(chǎn)生的錯誤。數(shù)據(jù)格雷碼數(shù)據(jù)格雷碼0000000010001100000100011001110100100011101011110011001010111110010001101100101001010111
19、1101101101100101111010010111010011111000四位二進(jìn)制數(shù)的格雷碼格雷碼ABCD左圖中,傳輸?shù)乃奈粩?shù)據(jù)在7跳變到8時,相應(yīng)的二進(jìn)制數(shù)據(jù)從01111000,對應(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ù)校驗碼 r解決辦法采用可靠器件;提高計算機(jī)抗干擾能力;采用更好的編碼方式。采用數(shù)據(jù)校驗碼發(fā)現(xiàn)并糾正錯誤。無法完全避免發(fā)送數(shù)據(jù)校驗碼產(chǎn)生電路校驗電路接收
20、數(shù)據(jù)發(fā)送端接收端傳輸途徑數(shù)據(jù)校驗碼原理 現(xiàn)有4位二進(jìn)制數(shù)據(jù)。正常情況下 可以表示16個數(shù)據(jù),且均為有效編碼。若錯一位或多位,會轉(zhuǎn)換成另外一個正確數(shù)據(jù)。增加校驗碼的情況下datadatadatadata00000100 1000110000010101 1001110100100110 101011100011011110111111 采用奇校驗方式。最高位為校驗碼,后三位為數(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
21、冗余校驗碼奇偶校驗碼奇校驗:整個傳送數(shù)據(jù)(數(shù)據(jù)+校驗碼)中1的個數(shù)為奇數(shù)個;偶校驗:整個傳送數(shù)據(jù)(數(shù)據(jù)+校驗碼)中1的個數(shù)為偶數(shù)個。011xxnxC偶011xxnxC奇有效信息位XC奇偶校驗位n位1位數(shù)據(jù)奇校驗偶校驗101010111010101010101011111111011111111111111100000001000000000000000110101101101011111010112.5 二進(jìn)制運(yùn)算中的一些問題 運(yùn)算的結(jié)果超出表示范圍怎么辦 如何檢測這種情況 什么叫移位加減法運(yùn)算的溢出處理當(dāng)運(yùn)算結(jié)果超出機(jī)器數(shù)表示的范圍時,稱為溢出。 負(fù)+負(fù),負(fù)-正,正+正,正-負(fù) 可能產(chǎn)生溢出定點整數(shù)補(bǔ)碼表示的范圍0+2n-1-2n數(shù)軸正溢出負(fù)溢出加減法運(yùn)算的溢出處理補(bǔ)碼運(yùn)算舉例1+7=800001+ 0011101000無溢出12+7=1901100+ 0011110011正溢出(-9)+(-5)=-1410111+ 11011110010無溢出(-12)+(-7)=-1910100+ 11001101101負(fù)溢出最簡單判溢出方法:利用雙符號判
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基因與遺傳?。焊卸髡n件
- 捷達(dá)品牌感恩有您服務(wù)營銷應(yīng)標(biāo)方案
- 2026年旅游規(guī)劃與管理專業(yè)考試題庫
- 2026年國際關(guān)系分析國際政治經(jīng)濟(jì)形勢預(yù)測題庫
- 2026年消防工程師考試實操題與理論知識題庫
- 2026年語言能力提升文學(xué)常識與翻譯技巧題庫
- 2026年建筑工程規(guī)范施工安全與質(zhì)量控制標(biāo)準(zhǔn)試題庫
- 2026年電子商務(wù)平臺運(yùn)營與維護(hù)專業(yè)認(rèn)證題庫
- 室內(nèi)外改造工程專項施工方案
- 外立面鋁板門頭安裝施工技術(shù)方案
- 2026年bjt商務(wù)能力考試試題
- 廣東省廣州市番禺區(qū)2026屆高一數(shù)學(xué)第一學(xué)期期末聯(lián)考試題含解析
- 2026年廣東省佛山市高三語文聯(lián)合診斷性考試作文題及3篇范文:可以“重讀”甚至“重構(gòu)”這些過往
- 老年住院患者非計劃性拔管分析2026
- (2025)70周歲以上老年人換長久駕照三力測試題庫(含參考答案)
- 2025年汽車駕駛員技師考試試題及答案含答案
- 觀看煤礦警示教育片寫心得體會
- 《2021節(jié)能保溫規(guī)范大全》JGJ353-2017 焊接作業(yè)廠房供暖通風(fēng)與空氣調(diào)節(jié)設(shè)計規(guī)范
- 2025年國際中文教師證書考試真題附答案
- 濕地保護(hù)法宣傳解讀課件
- 倒掛井壁法施工安全技術(shù)保證措施
評論
0/150
提交評論