二進(jìn)制補(bǔ)碼運(yùn)算_第1頁(yè)
二進(jìn)制補(bǔ)碼運(yùn)算_第2頁(yè)
二進(jìn)制補(bǔ)碼運(yùn)算_第3頁(yè)
二進(jìn)制補(bǔ)碼運(yùn)算_第4頁(yè)
二進(jìn)制補(bǔ)碼運(yùn)算_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、課題三進(jìn)制補(bǔ)碼運(yùn)算下面我們主要介紹在原碼與補(bǔ)碼運(yùn)算中應(yīng)注意的問(wèn)題。在原碼運(yùn)算時(shí),首先要把符號(hào)與數(shù)值分開(kāi)。例如兩數(shù)相加,先要判斷兩數(shù)的符 號(hào),如果同號(hào),可以做加法,如果異號(hào),實(shí)際要做減法,減后的差作為兩數(shù)之和, 和數(shù)的符號(hào)與絕對(duì)值較大的數(shù)的符號(hào)相同。兩數(shù)相減也是一樣,首先要判斷兩數(shù)符 號(hào),然后決定是相加還是相減,還要根據(jù)兩數(shù)的大小與符號(hào)決定兩數(shù)之差的符號(hào)。如果是補(bǔ)碼運(yùn)算則不存在符號(hào)與數(shù)值分開(kāi)的問(wèn)題。在補(bǔ)碼運(yùn)算時(shí),把符號(hào)位也 看成數(shù)值,一起參加運(yùn)算,而且加法運(yùn)算就一定是相加,減法運(yùn)算就一定是相減, 因此在計(jì)算機(jī)中對(duì)帶符號(hào)的數(shù)進(jìn)行加減時(shí),最好使用補(bǔ)碼。補(bǔ)碼的運(yùn)算規(guī)則是:X補(bǔ)+Y補(bǔ)= (X+Y)補(bǔ)設(shè)有

2、兩個(gè)數(shù)x和y,x=-89,y=+18,用補(bǔ)碼表示如下x=10100111B(-89 的補(bǔ)碼)y=00010010B(+18 的補(bǔ)碼)若求x+y之和,可不用考慮兩數(shù)的符號(hào),直接相加,得出的和為 x+y=11000111B(-71 的補(bǔ)碼),可見(jiàn)直接相加結(jié)果是正確的。(列出算式)若求x-y之差,也可以直接相減,即x=101001l1B(-89 的補(bǔ)碼)-y=00010010B(+18 的補(bǔ)碼)x-y=10010101B(-107 的補(bǔ)碼)可見(jiàn)直接相減結(jié)果也是正確的。若求y-x之差,同樣也用減法,即y=00010010B(+18 的補(bǔ)碼)-x=10100111B(-89 的補(bǔ)碼)y-x=Q01101

3、011B(+107 的補(bǔ)碼)也就是說(shuō)做減法時(shí),不論兩數(shù)符號(hào)如何,其相減結(jié)果不論是數(shù)值還是符號(hào)都是 正確的。在上述y-x算式中,最高位發(fā)生的進(jìn)(借)位只是因?yàn)樵谧珠L(zhǎng)為8位的計(jì)算機(jī)中, 若運(yùn)算結(jié)果并未超出補(bǔ)碼的記數(shù)范圍(-128+127),這時(shí)的進(jìn)(借)位被視為自然 丟棄。計(jì)算機(jī)在運(yùn)算中,這種自然丟棄并不影響結(jié)果的正確性。但要注意,如果字長(zhǎng)為8位的計(jì)算機(jī),其計(jì)算結(jié)果超過(guò)8位補(bǔ)碼所允許的表示 范圍(即超出-128+127),則其進(jìn)位稱(chēng)之為溢出。溢出和自然丟棄是兩種不同的概 念。判別屬于哪一種,則要看計(jì)算結(jié)果第7位與第8位的進(jìn)位情況,如果第7位和 第8位同時(shí)產(chǎn)生進(jìn)位,即所謂雙進(jìn)位,則這種進(jìn)位屬于允許的

4、自然丟棄。如果只有 第7位或者只有第8位產(chǎn)生進(jìn)位,即只有單進(jìn)位,則這種進(jìn)位屬于溢出,溢出表示 其數(shù)值超出計(jì)算機(jī)字長(zhǎng)所能表示的范圍,運(yùn)算結(jié)果必然是錯(cuò)誤的,因而也是不允許 的。應(yīng)當(dāng)注意的是,溢出的概念主要是指帶符號(hào)二進(jìn)制數(shù)進(jìn)行加減運(yùn)算時(shí)可能產(chǎn)生 的一種結(jié)果。對(duì)于無(wú)符號(hào)數(shù),第8位不是符號(hào)位,只有第8位的進(jìn)位才稱(chēng)為進(jìn)位, 而不采用溢出這個(gè)概念。對(duì)于無(wú)符號(hào)數(shù)的運(yùn)算還應(yīng)注意一點(diǎn),當(dāng)兩個(gè)無(wú)符號(hào)數(shù)相減時(shí),不允許用小的數(shù) 去減大的數(shù),因?yàn)樾p大它的差一定是負(fù)數(shù),無(wú)符號(hào)數(shù)的前提是沒(méi)有符號(hào),顯然也 不允許有負(fù)數(shù),如果這樣做,減的結(jié)果也必然是錯(cuò)誤的。五、字符的編碼(一)ASCII 碼(二)BCD 碼BCD碼也叫做十進(jìn)

5、制編碼,有壓縮和非壓縮兩種存儲(chǔ)形式。壓縮的BCD碼是用 半個(gè)字節(jié)存放一位十進(jìn)制數(shù),一個(gè)字節(jié)存放兩位十進(jìn)制數(shù)。1. 8421 BCD 碼表1-5 常見(jiàn)BCD碼編碼表十進(jìn)制8421 BCD 碼余3碼格雷碼00000001100001000101000001200100101001130011011000104010001110110501011000011160110100101017011110100100810001011110091001110011012.余3碼余3碼是無(wú)權(quán)碼,它具有良好的代碼校驗(yàn)性。這種編碼轉(zhuǎn)換成十進(jìn)制數(shù)后,每個(gè)代碼的值比相應(yīng)的十進(jìn)制數(shù)多 3。見(jiàn)表1-5。例如,十進(jìn)制數(shù)

6、6,它對(duì)應(yīng)的余3碼是 1001=9 ;十進(jìn)制數(shù)7對(duì)應(yīng)的余3碼是1010=10 ;它們都比十進(jìn)制數(shù)大 3。因此,這種 BCD編碼形式稱(chēng)為余3碼。3.格雷碼格雷碼也是一種無(wú)權(quán)的 BCD編碼形式,其特點(diǎn)是相鄰兩位的代碼,僅有一個(gè)碼位 變化。這種編碼抗干擾能力強(qiáng),常用于計(jì)算機(jī)控制的機(jī)床的角編碼器、軸位編碼等。(三)奇偶校驗(yàn)碼奇偶校驗(yàn)是一種常用的簡(jiǎn)單的校驗(yàn)方法,在計(jì)算機(jī)內(nèi)常用作存儲(chǔ)器讀寫(xiě)校驗(yàn)、 ASCII字符傳送中的校驗(yàn)等。奇偶校驗(yàn)碼是在傳送的代碼上附加一個(gè)校驗(yàn)位,作為代碼的比較校驗(yàn)。這樣在接 收方,先對(duì)信息代碼按雙方的校驗(yàn)規(guī)定求奇偶校驗(yàn)碼,然后再與收到的附加校驗(yàn)位作 比較,若相等則認(rèn)為接收的代碼是正確

7、的,若不相等則認(rèn)為接收的代碼是錯(cuò)誤的。實(shí)際上,奇偶校驗(yàn)就是鑒別代碼中有奇數(shù)個(gè)“1 ”,還是有偶數(shù)個(gè)“ 1”。例如,有效信息為1011001,若采用偶校驗(yàn)碼記為“ 0”的話,則有效代碼為10110010 ;若采用奇校驗(yàn)碼記為“ 1 ”的話,有效代碼則為10110011。有效代碼的最后的那個(gè)數(shù)位,就是奇偶校驗(yàn)位。當(dāng)接受方收到這組代碼后,便根據(jù)奇、偶校驗(yàn)的約定和有效代碼中“ 1 ”的個(gè)數(shù)形成校驗(yàn)碼,然后再與接收的校驗(yàn)位作比較。比較相等的話,說(shuō)明接受 的信息正確;反之,則認(rèn)為出現(xiàn)了錯(cuò)誤。奇偶校驗(yàn)只能發(fā)現(xiàn)一位錯(cuò), 但不能確定出錯(cuò)的位置,對(duì)偶數(shù)個(gè)錯(cuò)位便無(wú)能為力了。 但在實(shí)際應(yīng)用中,一位出錯(cuò)的概率比多位出錯(cuò)

8、的概率高,因此,奇偶校驗(yàn)碼還是很實(shí) 用的。另外,還有一些具有糾錯(cuò)能力的校驗(yàn)編碼,如海明碼、冗余循環(huán)校驗(yàn)碼等。有 興趣的讀者可閱讀了解有關(guān)糾錯(cuò)碼方面的書(shū)籍。關(guān)于課本95頁(yè)例3-2-1的詳細(xì)分析,原題:試采用4位加法器實(shí)現(xiàn)1位余三碼到1 位8421BCD碼的轉(zhuǎn)換。觀察余三碼和8421BCD碼規(guī)律發(fā)現(xiàn),相應(yīng)的余三碼和8421碼所對(duì)應(yīng)的二進(jìn)制字符 串轉(zhuǎn)換為十進(jìn)制數(shù)后相差三,因此可以采用相應(yīng)十進(jìn)制數(shù)碼的余三碼減去三得到該 十進(jìn)制數(shù)碼所對(duì)應(yīng)的8421BCD碼,完成余三碼到8421BCD的轉(zhuǎn)換。如果用加法器 進(jìn)行實(shí)現(xiàn),就得考慮采用反碼或者補(bǔ)碼,書(shū)中是用補(bǔ)碼完成減三操作的。根據(jù)補(bǔ)碼的運(yùn)算規(guī)則要把兩個(gè)數(shù)都要變換

9、成補(bǔ)碼,符號(hào)位參與運(yùn)算,進(jìn)位自動(dòng)丟棄, 結(jié)果仍為補(bǔ)碼。余三碼的補(bǔ)碼為0E3E2EEo前面的0是符號(hào)位指代正數(shù),3的二進(jìn)制為0011,其反 碼為1100,因此其補(bǔ)碼為1100 + 1 = 1101,所以一3的補(bǔ)碼為11101,第一個(gè)1是 符號(hào)位,代表負(fù)數(shù)。0 E3 E2 E1 E0+ 1110110 F3 F2 F1 F0由于是兩個(gè)異號(hào)數(shù)相加,因此不存在溢出問(wèn)題,紅色的1是要自動(dòng)舍棄的進(jìn)位。結(jié) 果為of3f2FFo,首位的0是符號(hào)位指代正數(shù),因此其源碼仍為of3f2FFo,其絕對(duì)值為F3 F2 F1 F0,剛好應(yīng)為相應(yīng)的8421BCD碼,因此由于結(jié)果是正數(shù)的補(bǔ)碼 表示,其補(bǔ)碼表示中的數(shù)值位就應(yīng)該是源碼本身,不需要進(jìn)一步

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論