<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 十進(jìn)制數(shù)的二進(jìn)制編碼

          十進(jìn)制數(shù)的二進(jìn)制編碼

          作者: 時間:2011-06-13 來源:網(wǎng)絡(luò) 收藏
          在人機(jī)交互過程中,為了既滿足系統(tǒng)中使用二進(jìn)制數(shù)的要求,又適應(yīng)人們使用十進(jìn)制數(shù)的習(xí)慣,通常用4位二進(jìn)制代碼對十進(jìn)制數(shù)字符號進(jìn)行編碼,簡稱為二-十進(jìn)制代碼,或稱BCD(Binary Coded Decimal)碼。它既有二進(jìn)制的形式,又有十進(jìn)制的特點(diǎn)。常用的BCD碼有8421碼、2421碼和余3碼3種,它們與十進(jìn)制數(shù)字符號對應(yīng)的編碼如表1.4所示。

          表1.4 常用的3種BCD碼

          進(jìn)制字符8421碼2421碼余3碼

          0000000000011
          1000100010100
          2001000100101
          3001100110110
          4010001000111
          5010110111000
          6011011001001
          7011111011010
          8100011101011
          9100111111100

          一、8421碼?

          8421碼是最常用的一種有權(quán)碼,其4位二進(jìn)制碼從高位至低位的權(quán)依次為23、22、21、20,即為8、4、2、1,故稱為8421碼 。按8421碼編碼的0~9與用4位二進(jìn)制數(shù)表示的0~9完全一樣,所以,8421碼是一種人機(jī)聯(lián)系時廣泛使用的中間形式。

          注意:
          ※ 8421碼中不允許出現(xiàn)1010~1111四種組合,因為沒有十進(jìn)制數(shù)字符號與其對應(yīng)。
          ※ 十進(jìn)制數(shù)字符號的8421碼與相應(yīng)ASCII碼的低四位相同,這一特點(diǎn)有利于簡化輸入輸出過程中BCD碼與字符代碼的轉(zhuǎn)換。

          1.8421碼與十進(jìn)制數(shù)之間的轉(zhuǎn)換
          8421碼與十進(jìn)制數(shù)之間的轉(zhuǎn)換是按位進(jìn)行的,即十進(jìn)制數(shù)的每一位與4位二進(jìn)制編碼對應(yīng)。例如
          (258)10 = (0010 0101 1000)8421碼??
          (0001 0010 0000 1000)8421碼?=(1208)10???

          2.8421碼與二進(jìn)制的區(qū)別
          例如, (28)10 = (11100)2 = (00101000)8421

          二、2421碼?

          2421碼是另一種有權(quán)碼,其4位二進(jìn)制碼從高位至低位的權(quán)依次為2、4、2、1。若一個十進(jìn)制字符X的2421碼為a3 a2 a1 a0,則該字符的值為
          ? ? X = 2a3 + 4a2 + 2a1 + 1a0
          例如,(1101)2421碼?= (7)10。?

          1.2421碼與十進(jìn)制數(shù)之間的轉(zhuǎn)換
          2421碼與十進(jìn)制數(shù)之間的轉(zhuǎn)換同樣是按位進(jìn)行的,例如,
          (258)10 = (0010 1011 1110)2421碼
          (0010 0001 1110 1011)2421碼?= (2185)10

          2.注意
          ?2421碼不具備單值性。例如,0101和1011都對應(yīng)十進(jìn)制數(shù)字5。為了與十進(jìn)制字符 一 一 對應(yīng),2421碼不允許出現(xiàn)0101~1010的6種狀態(tài)。
          ?2421碼是一種對9的自補(bǔ)代碼。即一個數(shù)的2421碼只要自身按位變反,便可得到該數(shù)對9的補(bǔ)數(shù)的2421碼。例如,4對9的補(bǔ)數(shù)是5,將4的2421碼0100按位變反,便可得到5的2421碼1011。具有這一特征的BCD碼可給運(yùn)算帶來方便,因為直接對BCD碼進(jìn)行運(yùn)算時,可利用其對9的補(bǔ)數(shù)將減法運(yùn)算轉(zhuǎn)化為加法運(yùn)算。?
          ?2421碼與二進(jìn)制數(shù)的區(qū)別!
          三、余3碼

          余3碼是由8421碼加上0011形成的一種無權(quán)碼 ,由于它的每個字符編碼比相應(yīng)8421碼多3,故稱為余3碼。例如,十進(jìn)制字符5的余3碼等于5的8421碼0101加上0011,即為1000。

          1.注意:
          ☆ 余3碼有6種狀態(tài)0000、0001、0010、1101、1110和1111是不允許出現(xiàn)的。
          ☆ 余3碼也是一種對9的自補(bǔ)代碼,因而可給運(yùn)算帶來方便。
          ☆ 將兩個余3碼表示的十進(jìn)制數(shù)相加時,能正確產(chǎn)生進(jìn)位信號,但對“和”必須修正。修正的方法是: 如果有進(jìn)位,則結(jié)果加3;如果無進(jìn)位,則結(jié)果減3。

          2.余3碼與十進(jìn)制數(shù)之間的轉(zhuǎn)換
          余3碼與十進(jìn)制數(shù)之間的轉(zhuǎn)換也是按位進(jìn)行的,值得注意的是每位十進(jìn)制數(shù)的編碼都應(yīng)余3。例如,
          ?? (256)10 = (0101 1000 1001)余3碼?
          (1000 1001 1001 1011)余3碼 = (5668)10

          計算機(jī)中使用的是二進(jìn)制數(shù),人們習(xí)慣使用的是十進(jìn)制數(shù),因此,輸入到計算機(jī)中的十進(jìn)制數(shù)需要轉(zhuǎn)換成二進(jìn)制數(shù);數(shù)據(jù)輸出時,應(yīng)將二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)。為了方便,大多數(shù)通用性較強(qiáng)的計算機(jī)需要能直接處理十進(jìn)制形式表示的數(shù)據(jù)。為此,在計算機(jī)中還設(shè)計了一種中間數(shù)字編碼形式,它把每一位十進(jìn)制數(shù)用 4 位二進(jìn)制編碼表示,稱為二進(jìn)制編碼的十進(jìn)制表示形式,簡稱 BCD碼(binary coded decimal),又稱為二—十進(jìn)制數(shù)。
          4 位二進(jìn)制數(shù)碼,可編碼組合成 16 種不同的狀態(tài),而十進(jìn)制數(shù)只有 0,1,…,9 這十個數(shù)碼,因此選擇其中的十種狀態(tài)作BCD碼的方案有許多種,如 8421BCD碼、格雷碼、余3碼等,編碼方案見表2.1.1。
          表2.1.1 用二進(jìn)制編碼表示的十進(jìn)制數(shù)
          十進(jìn)制數(shù)8421碼2421碼5211碼余3碼格雷碼
          000000000000000110000
          100010001000101000001
          200100010001101010011
          300110011010101100010
          401000100011101110110
          501011011100010001110
          601101100101010011010
          701111101110010101000
          810001110111010111100
          910011111111111000100

          最常用的 BCD 碼是 8421BCD 碼。8421BCD 碼選取 4 位二進(jìn)制數(shù)的前 10 個代碼分別對應(yīng)表示十進(jìn)制數(shù)的 10 個數(shù)碼,1010 ~ 1111這 6 個編碼未被使用。從表中可以看到這種編碼是有權(quán)碼。四個二進(jìn)制位的位權(quán)從高向低分別為8,4,2和1,若按權(quán)求和,和數(shù)就等于該代碼所對應(yīng)的十進(jìn)制數(shù)。例如,0110 = 22 + 21 = 6。
          把一個十進(jìn)制數(shù)變成它的 8421BCD 碼數(shù)串,僅對十進(jìn)制數(shù)的每一位單獨(dú)進(jìn)行即可。例如變1986為相應(yīng)的 8421BCD 碼表示,結(jié)果為 0001 1001 1000 0110。反轉(zhuǎn)換過程也類似,例如變 0101 1001 0011 0111 為十進(jìn)制數(shù),結(jié)果應(yīng)為 5937 。
          8421BCD 碼的編碼值與字符 0 到 9 的 ASCII 碼的低 4 位相同,有利于簡化輸入輸出過程中從字符 → BCD 和從BCD → 字符的轉(zhuǎn)換操作,是實現(xiàn)人機(jī)聯(lián)系時比較好的中間表示。需要譯碼時,譯碼電路也比較簡單。
          8421BCD 碼的主要缺點(diǎn)是實現(xiàn)加減運(yùn)算的規(guī)則比較復(fù)雜,在某些情況下,需要對運(yùn)算結(jié)果進(jìn)行修正。

          電容屏相關(guān)文章:電容屏原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();