vendy.liu
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看vendy.liu的 主題 / 回貼
樓主  發(fā)表于: 2009-01-09 14:47
有誰知道BCD以及HEX數(shù)制的轉(zhuǎn)換?
zxc6688
工業(yè)自動化是我們的目標(biāo)
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 385 個
工控威望: 338 點
下載積分: 3994 分
在線時間: 174(小時)
注冊時間: 2007-09-11
最后登錄: 2024-01-05
查看zxc6688的 主題 / 回貼
1樓  發(fā)表于: 2009-01-09 20:29
BCD碼剛好對應(yīng)HEX的二進制位
BCD123   二進制表示0001 0010 0011
16#123   二進制表示0001 0010 0011
http://zxc6688.ys168.com/
zxc6688
工業(yè)自動化是我們的目標(biāo)
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 385 個
工控威望: 338 點
下載積分: 3994 分
在線時間: 174(小時)
注冊時間: 2007-09-11
最后登錄: 2024-01-05
查看zxc6688的 主題 / 回貼
2樓  發(fā)表于: 2009-01-10 08:36
引用
引用第3樓竹風(fēng)涼于2009-01-09 22:52發(fā)表的  :

BCD 碼大于9時是非法數(shù)字,計算機只認二進制,不轉(zhuǎn)換,
運算會出錯的

BCD碼大于9?什么意思
BCD的每一位有大于9的嗎
BCD碼也叫8421碼就是將十進制的數(shù)以8421的形式展開成二進制,大家知道十進制是0~9十個數(shù)組成,著十個數(shù)每個數(shù)都有自己的8421碼:
  0=0000
  1=0001
  2=0010
  3=0011
  4=0100
  5=0101
  6=0110
  7=0111
  8=1000
  9=1001
  舉個例子:
  321的8421碼就是
  3 2 1
  0011 0010 0001
  原因:0011=8x0+4x0+1x2+1x1=3 0010=8x0+4x0+2x1+1x0=2. 0001=8x0+4x0+2x0+1x1=1
  具體:
  bcd碼是十位二進制碼, 也就是將十進制的數(shù)字轉(zhuǎn)化為二進制, 但是和普通的轉(zhuǎn)化有一點不同, 每一個十進制的數(shù)字0-9都對應(yīng)著一個四位的二進制碼,對應(yīng)關(guān)系如下: 十進制0 對應(yīng) 二進制0000 ;十進制1 對應(yīng)二進制0001 ....... 9 1001 接下來的10就有兩個上述的碼來表示 10 表示為00010000 也就是BCD碼是遇見1001就產(chǎn)生進位,不象普通的二進制碼,到1111才產(chǎn)生進位10000
  舉例:
  某二進制無符號數(shù)11101010,轉(zhuǎn)換為三位非壓縮BCD數(shù),按百位、十位和個位的順序表示,應(yīng)為<U>__C</U>__。
  A.00000001 00000011 00000111 B. 00000011 00000001 00000111
  C.00000010 00000011 00000100 D. 00000011 00000001 00001001
  解:(1)11101010轉(zhuǎn)換為十進制:234
  (2)按百位、十位和個位的順序表示,應(yīng)為<U>__C</U>__。
  附注:壓縮BCD碼與非壓縮BCD碼的區(qū)別—— 壓縮BCD碼的每一位用4位二進制表示,一個字節(jié)表示兩位十進制數(shù)。例如10010110B表示十進制數(shù)96D;非壓縮BCD碼用1個字節(jié)表示一位十進制數(shù),高四位總是0000,低4位的0000~1001表示0~9.例如00001000B表示十進制數(shù)8.
本帖最近評分記錄:
  • 下載積分:+1(竹風(fēng)涼) 鼓勵一下!
  • http://zxc6688.ys168.com/